Page MenuHomePhabricator

[keyserver][landing] Fix reset preamble for landing SIWE
ClosedPublic

Authored by ashoat on Oct 24 2024, 7:55 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 28, 10:36 PM
Unknown Object (File)
Sat, Dec 28, 3:02 PM
Unknown Object (File)
Thu, Dec 26, 8:12 PM
Unknown Object (File)
Mon, Dec 23, 2:14 AM
Unknown Object (File)
Fri, Dec 20, 6:12 AM
Unknown Object (File)
Mon, Dec 16, 8:33 PM
Unknown Object (File)
Mon, Dec 16, 8:33 PM
Unknown Object (File)
Mon, Dec 16, 8:33 PM
Subscribers

Details

Summary

To address incognito={true} not working on Android, in D6112 I introduced a "preamble" of sorts to landing that would reset localStorage.

Sometime since then this has stopped working (see ENG-9537). This diff makes two changes to bring it back:

  1. I had to move the preamble to a separate <script> tag in the returned HTML. I'm not sure why this was necessary, as my naive prior was that Webpack would execute the first lines of your entry first. But testing clearly revealed this to be necessary.
  2. I also had to add some lines to clear IndexedDB alongside localStorage.
Test Plan

I created a test environment on my personal server at https://comm.fund and then authorized comm.fund via WalletConnect's "Cloud" interface

I then deployed a dev build to my local device pointed at comm.fund/siwe. I confirmed that this worked by testing 10x times that swiping away SIWEPanel after initially connecting a wallet would result in a full reset the next time SIWEPanel was opened

I then tested the Android Zerion wallet workflow end-to-end

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable