ec20f1bc8720e51ef7cf2f3dd55423722839e9dd
The online event could fire between page load and useEffect registering its listener, leaving isOffline stuck at true despite navigator.onLine being true. A zero-delay setTimeout after listener registration re-syncs from navigator.onLine, covering that race. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
famapp
Self-hosted family coordination: shared calendar, lists, notes.
- Plan & architecture:
CLAUDE.md - Current progress:
STATUS.md - Task briefs (for sub-sessions):
docs/tasks/ - Architecture decisions:
docs/decisions/
Languages
TypeScript
94.1%
CSS
4.2%
JavaScript
0.9%
Shell
0.4%
Dockerfile
0.2%
Other
0.2%