mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Remove all event buffering from the relay client on both platforms so unread badges appear the instant a WebSocket event arrives. Desktop: remove MessageChannel-based event buffer from relayClientSession.ts — handleEvent now calls subscription.onEvent() directly. Mobile: remove Timer-based 16ms event buffer from relay_session.dart — _handleEvent now calls liveSub.onEvent() directly with inline dedup. Add KIND_STREAM_MESSAGE_V2 (40002) to CHANNEL_EVENT_KINDS on desktop and channelEventKinds on mobile so rich-format messages trigger instant badge updates instead of waiting for the 60-second polling refetch. Also includes NIP-RS cross-device read state sync (useReadStateSync hook on desktop, ReadStateSyncNotifier on mobile), read state seeding on first load, and a sync toggle in settings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>