Files
bitvid/scripts
thePR0M3TH3ANandClaude Opus 4.8 b5ad582b6c perf(watch-history): decrypt only recent months on load (cap cold cost)
Root cause of the ~20s watch-history load: history is bucketed by month (one
encrypted snapshot event per month) and the fetch decrypted EVERY month via the
serialized nip-07 extension — ~1 slow call per month, so accounts with years of
history paid dozens of back-to-back extension decrypts on every load.

Cap the load to the most recent RECENT_MONTHS_DECRYPT_LIMIT (6) months by default
— enough for the feed's watched-video suppression and the initial view. Callers
that need the full history (the explicit History view) pass recentMonthsLimit: 0,
threaded loadLatest -> scheduleWatchHistoryRefresh -> resolveWatchHistory ->
resolve -> fetch.

Harness (fresh-context wh-repro): 600 items / 18 months goes from 18 nip-07
decrypt calls to 6. Watch-history tests green. Bumps the watchHistory.js
file-size baseline for the added logic.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-12 21:11:40 -04:00
..
2026-02-21 21:03:49 -05:00
2026-01-23 11:08:38 -05:00