Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Takes too long to sign in #3261

Open
tcpim opened this issue Oct 31, 2024 · 7 comments
Open

Takes too long to sign in #3261

tcpim opened this issue Oct 31, 2024 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@tcpim
Copy link

tcpim commented Oct 31, 2024

I think the "Initializing your wallet" takes too long (~10 seonds). I really hope Oisy wallet can be successful for mass adoption but I fear the long sing in time will make the UX not as good as other wallet solutions. Is it possible to make it faster? Also I think letting user configure their own session expiration helps. I personally would like to make the session expires in 7 days or something like that so that I won't need to wait to sign in every time when I want to trade. Thanks!
Screenshot 2024-10-31 at 2 19 38 PM

Screenshot 2024-10-31 at 2 19 54 PM ](url)
@tcpim tcpim added the enhancement New feature or request label Oct 31, 2024
@dfinity dfinity deleted a comment from Tony-ptech Nov 1, 2024
@StefanBerger-DFINITY
Copy link

Hi. Thanks for your valuable input. We will put the configurable session expiration as agenda item on our next planning round, and will give you an update shortly.
Also we have an improvement of the initialization phase already in the pipeline.

@StefanBerger-DFINITY StefanBerger-DFINITY self-assigned this Nov 1, 2024
@peterpeterparker
Copy link
Member

peterpeterparker commented Nov 1, 2024

We will put the configurable session expiration as agenda item on our next planning round, and will give you an update shortly.

@StefanBerger-DFINITY I'm not aware of any dapp that does this on the IC, so before scheduling, we should inquire if this is secure.

@tcpim
Copy link
Author

tcpim commented Nov 1, 2024

@peterpeterparker @StefanBerger-DFINITY I know ICPSwap maintain the session for more than 2 days (I don't know how long exactly) and the very popular social wallet vly.money supports configurable session expiration. I use internet identity to sign in vly.money

I think either long expiration or configurable expiration can greatly improve user experience! Please enable it. Thanks!

Screenshot 2024-11-01 at 9 49 32 AM

@domwoe
Copy link
Member

domwoe commented Nov 5, 2024

Would it be possible to calculate the public key/address locally in the frontend (or at least in the backend without a x-net call) based on the principal to speed things up?

@marc0olo
Copy link
Member

marc0olo commented Nov 6, 2024

We will put the configurable session expiration as agenda item on our next planning round, and will give you an update shortly

I think that makes absolutely sense.

this is a little bit out of context, but maybe you also want to give the user the option to secure transactions with an additional pin/password prompt. I think OpenChat rolled out such feature recently.

@StefanBerger-DFINITY
Copy link

Hi all y'all
Faster initialization is already in discovery and will make it into the pipeline very soon. No exact date available yet though.
Customizable expiration threshold and the additional pwd/pin for transactions are filed as feature requests.
I will follow-up on the status of these requests or how it can be retrieved soon. tata

@peterpeterparker
Copy link
Member

peterpeterparker commented Nov 6, 2024

Would it be possible to calculate the public key/address locally in the frontend (or at least in the backend without a x-net call) based on the principal to speed things up?

@domwoe I'm not entirely sure, but I remember that the foundation invested some time last year around September when the Alpha version of OISY was created, to implement such a JS derivation without full success. As far as I recall, and if I recall correctly, the amount of work required to achieve such a derivation would be significant.

Faster initialization

General context for everyone in this thread: the sign-in has become slower because it now requires a few additional inter-canister update calls. This is due to the foundation's decision to decentralize the signer—'the derivation of the keys'—to a canister controlled by the NNS while retaining control of the OISY backend canister. Additionally, OISY was enhanced with key derivation for Bitcoin, in addition to ETH, which also requires extra update calls. Hence, the sign-in experience is slower.

This happens when you sign in for the first time in OISY. Subsequent sign-ins, as long as the derivation remains active—currently set to one hour—do not require upfront derivation. Keys are saved in the browser's cache and are validated asynchronously by a worker to avoid any security issues. Therefore, returning sign-ins with a valid session are still fast enough.

Note that I'm not implying there are no possible improvements—I'm strictly sharing information about the why it has become slower.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants