This is a broad topic, but it looks like ever since beta-4 or a later version of the fuel wallet, the time to simulate the transaction, etc is much much longer than previous versions.
Simple contract execution can take around 2+ minutes to simulate, provide the user with the confirmation screen, and then another large delay for actually executing the transaction.
I timed a simple operation on my webapp
Simulate - 50 seconds (pre-approve screen)
Approved - 70 seconds
Executed - 22 seconds
Leading to over 2 minutes of idle waiting.
I know this is a fuel wallet issue since all the operations are happening there and not on my webapp.
window.fuel is being removed so you might use import { Fuel } from '@fuel-wallet/sdk instead
".
The latest version of the TS-SDK (and the wallet too) implemented some improvements on the dryRun/simulation of TX’s (reducing the number of requests that needs to be done) and it should improve this delay. Please update your codebase to beta-5