mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-06 12:52:26 +00:00
Speed up Nostr login and fix list sync, signer persistence, and feed registration
The NIP-07 login flow was extremely slow because list decryption (blocks, subscriptions, hashtag preferences) started before the signer was ready. On page refresh, all three services failed with "permission-required" and scheduled 3-second retry delays, adding 6-10 seconds to every login. Key fixes: - List loading now waits for the permission pre-grant to complete before attempting decryption, ensuring the signer is available on first try - Extension wait timeout increased from 3s to 5s for slower extensions - Decrypt timeouts reduced from 20s to 10s (signer is guaranteed ready) - Auto-login now forwards authType/providerId from saved profiles - Storage tab unlock falls back to ensureActiveSignerForPubkey when the global signer is not yet registered - Watch history feed registration adds defensive re-registration and try/catch fallback to prevent "Feed not registered" errors - Decryption scheme cache TTL extended from 10 minutes to 2 hours - ensureExtensionPermissions waits for extension injection when there are outstanding permissions to request (was returning immediately) https://claude.ai/code/session_01T4wwPu7m5qp1Nxx3H2v57j
This commit is contained in:
10 files changed
+101
-29
No files matched your search
+5
-1
@@ -44,7 +44,11 @@ import {
|
||||
|
||||
const SUBSCRIPTION_SET_KIND =
|
||||
getNostrEventSchema(NOTE_TYPES.SUBSCRIPTION_LIST)?.kind ?? 30000;
|
||||
const DECRYPT_TIMEOUT_MS = 20000;
|
||||
// PERF: Reduced from 20s to 10s — the signer is now guaranteed to be ready
|
||||
// before list loading starts (authSessionCoordinator waits for the permission
|
||||
// pre-grant), so decryption should succeed quickly. 10s is a generous fallback
|
||||
// for slow relay responses while still failing fast enough to retry promptly.
|
||||
const DECRYPT_TIMEOUT_MS = 10000;
|
||||
// PERF: Reduced from 10s to 3s — extensions that already granted permission
|
||||
// should recover quickly. The longer delay was causing unnecessary wait time
|
||||
// during the critical login path when the first decrypt attempt fails due to
|
||||
|
||||
Reference in new issue
Block a user