[keyserver][landing] Fix reset preamble for landing SIWE
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:
- 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.
- 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
Reviewers: varun, will
Reviewed By: will
Subscribers: tomek
Differential Revision: https://phab.comm.dev/D13789