Here is a crazy idea to make WalletConnect session live longer. In order to protect localstorage session data from being scraped by malicious actors we could store them as password-encrypted keystore file, this would be light enough to use on browsers and provide a very similar user experience to Web2.0.
How would it look like?
First time you connect with WalletConnect would display a QR code, it would perform exactly the same as of now. Only after a successful connection, the user would be prompted to save the session with a password, allowing it to persist the session for as long as 30 days.
When returning to the Dapp the user would be prompted to type the password instead of the QR code and that session would be persisted without requiring the user to establish a connection all over again.
What if the user forgets his password?
The user would click “Forgot my password” and simply scan the QR code again to establish a connection for a new session.