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
@@ -10,7 +10,11 @@
|
||||
* login path where all three services decrypt simultaneously.
|
||||
*/
|
||||
|
||||
const DECRYPTION_CACHE_TTL_MS = 10 * 60 * 1000; // 10 minutes
|
||||
// Extended from 10 minutes to 2 hours. The cache is cleared on logout, so
|
||||
// there's no privacy concern with a longer TTL. A short TTL caused redundant
|
||||
// scheme probing during normal browsing sessions, triggering unnecessary
|
||||
// NIP-07 extension calls that slow down background list re-syncs.
|
||||
const DECRYPTION_CACHE_TTL_MS = 2 * 60 * 60 * 1000; // 2 hours
|
||||
|
||||
/** @type {Map<string, { scheme: string, timestamp: number }>} */
|
||||
const cache = new Map();
|
||||
|
||||
Reference in new issue
Block a user