97f4a739bb868f0f5c4832560bc9b534dbe6b759
Signed in, one refresh pass (session, then the vault index and the vault list, then the extension) takes longer than the 1.5 s poll. Every poll started a new pass, and the pass in flight saw the newer generation and returned before rendering, so on persimmons.app the Master vault stayed an empty box while every request returned 200 (Tea logs, 2026-10-12: session every ~1.5 s, page-index and vaults ~1 s each, almost never a full pass). refresh() now runs one pass at a time: the poll skips while one is in flight, and a refresh asked for during one (an action, focus) runs once more afterwards. The three identical copies (app.js, assets/app.js, backend/web/app.js) change together. New test extension/tests/homepage-poll.test.mjs holds every request until after the next poll: it fails on the old code (nothing renders) and passes now. Extension suite: 26/26. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wyb3QQDESFkosKRXzrXqwr
Persims
Canonical source for Persimmons.
- Current website: repository root
- Chromium extension:
extension/ - Shared/runtime source:
backend/ - Pre-cutover snapshot:
old/
Public site: https://persimmons.app Platform identity/API: https://teahub.xyz
Languages
JavaScript
50.9%
Python
39.9%
HTML
8.2%
CSS
1%