Claude 46979e11e9 Fix EOSE tracking to prevent state regression after live events
The bug: When events arrived after EOSE was received (live streaming),
the subscription state was incorrectly reset from "eose" back to
"receiving", causing:
- False "LOADING" overall state
- Relay UI showing "RECEIVING" spinner when EOSE was already received
- Incorrect eoseCount in state machine

The fix: Add a new "live" subscription state that represents
"EOSE received AND actively receiving live events". State transitions:
- waiting → receiving (on first historical event)
- receiving → eose (on EOSE signal)
- eose → live (on live event after EOSE)

Changes:
- Add "live" to RelaySubscriptionState type with proper documentation
- Add liveCount to ReqOverallState for accurate counting
- Update event handler to set "live" state when eoseAt exists
- Update EOSE completion check to include "live" state
- Update getRelayStateBadge: "live" shows green, "receiving" shows yellow
- Update ReqViewer: show pulsing radio icon for live relays
- Update tests for new state and color changes

https://claude.ai/code/session_01DVTWqKNY4UHVSDDxckjkAh
2026-02-02 13:06:32 +00:00
👶
2025-12-09 16:26:31 +01:00
2025-12-19 12:49:29 +01:00
2026-01-22 18:38:26 +01:00
2025-12-13 15:06:05 +01:00
2025-12-22 20:40:16 +00:00
2025-12-20 14:25:40 +01:00
👶
2025-12-09 16:26:31 +01:00
👶
2025-12-09 16:26:31 +01:00
👶
2025-12-09 16:26:31 +01:00

Grimoire

A Nostr protocol explorer and developer tool with a tiling window manager interface.

Features

  • Tiling Windows - Each window is a Nostr "app" (profile viewer, event feed, NIP docs, etc.)
  • Command Palette - Unix-style commands via Cmd+K to open apps and navigate
  • Multi-workspace - Virtual desktops with independent layouts
  • Real-time - Reactive event subscriptions with automatic updates

Stack

React 19, TypeScript, Vite, TailwindCSS, Jotai, Dexie, Applesauce

Getting Started

npm install
npm run dev

Scripts

Command Description
npm run dev Start dev server
npm run build Build for production
npm test Run tests in watch mode
npm run lint Lint code
npm run format Format code

License

MIT

Description
No description provided
Readme MIT 14 MiB
Languages
TypeScript 98.9%
CSS 0.8%
JavaScript 0.3%