wormhole-foundation / wormhole-connect

Wormhole Connect brings all the functionality and utility of Wormhole right into your application and removes all of the complexity.
https://connect-in-style.wormhole.com/
Other
82 stars 63 forks source link

[QA] Transaction is not displayed in the In-progress widget if page is reloaded before Transaction screen opens #2809

Open tsadovska opened 3 weeks ago

tsadovska commented 3 weeks ago

Describe the current behavior in detail

Checked on wormhole-connect-mainnet.

Steps:

  1. Initiate a transfer: WSOL from Base (MetaMask) to Moonbeam (MetaMask) with TokenBridgeRoute
  2. Reload the page before Transaction screen opens
  3. Check if transaction is displayed in the In-progress widget

Actual result: Transaction is not appearing in the In-progress widget. It does not display even after waiting for a while. Expected result: Transaction is displayed in the In-progress widget.

Notes/ Attachments

https://github.com/user-attachments/assets/bb701e3a-e67e-4e28-b17f-d3a8e74eb01a

emreboga commented 2 weeks ago

@tsadovska this seems partially by design, because there is always be a little bit of a window between a transaction is created and the SDK returns with the completion to the Connect UI code. In that window, we don't have the in-progress widget item added to the local storage, hence you won't see it. What I can do is to shorten that time as much as possible to set the widget item in local storage as soon as SDK returns.

agodlevska commented 13 hours ago

Checked on wormhole-connect-mainnet. Issue is still reproducible, transaction is not appearing in the In-progress widget. It does not display even after waiting for a while and refreshing the page.

Attachment:

https://github.com/user-attachments/assets/496b7971-e333-48c7-8941-ed7601ab0d4e

emreboga commented 10 hours ago

There is a time gap between a transaction is created in wallet and the SDK returns with the receipt. This issue happens during that time because the UI can show the in-progress widget for a transaction after SDK returns from the send request. @kev1n-peters @artursapek is there anything we can change on the SDK side to mitigate this? Or maybe we can warn the user about not refreshing the page etc?

Cc: @Wesleyleung

Wesleyleung commented 9 hours ago

No we shouldn't warn the user about not refreshing the page, that would add confusion to the experience. Is there a fallback we can use (ie. is this data available in history or wormholescan?).

I think an initial delay for this edge case is fine, but if you refresh the page again and wait a long time like another minute, we should find a way to have it show.