Commit Graph
17 Commits
Author SHA1 Message Date
WesandClaude Opus 4.6 16c2ef7bea Instant unread badges: remove event buffering, add kind:40002
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>
2026-04-28 14:06:53 -07:00
57186963e3 feat(mobile): multi-workspace support (#408)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-27 13:47:06 -07:00
4fc720cc0d feat(mobile): frosted glass navbar + channel detail polish (#404)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-26 19:09:14 -07:00
30adbad810 feat(mobile): day dividers, video upload, emoji picker & UX polish (#396)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-24 09:32:36 -07:00
8599a4d2a0 feat(mobile): port desktop color schemes + video viewer overlay (#390)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 10:00:00 -07:00
e2c94a8538 feat(mobile): image upload + media viewer parity with desktop (#384)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 11:54:29 -07:00
79d089d87e feat(mobile): rich compose bar with mentions, emoji, formatting, and typing indicators (#351)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 09:22:52 -07:00
b106fba815 feat(mobile): DM avatars, member roles, pairing fixes, and offline UX (#348)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 20:17:55 -07:00
fc67dac4c6 feat: NIP-AB device pairing — Phase 2 (desktop + mobile UI) (#343)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 15:25:18 -07:00
cd6fc96fc5 feat(mobile): implement message thread support (#338)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 10:00:02 -07:00
d283f0894d feat(mobile): design refresh — navigation, search, reactions (#334)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 17:20:25 -07:00
affeee60c2 feat(mobile): channel management — create, browse, join/leave, DMs, canvas (#331)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 21:28:46 +00:00
94d4e16461 feat(mobile): websocket streaming with real-time messaging (#323)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:20:35 -07:00
3eabe74c61 feat(mobile): align design language with desktop and polish UI (#321)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 14:33:48 -07:00
4c37a57cfe feat(mobile): QR/code pairing flow with security hardening (#317)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 10:44:54 -07:00
08be36471e feat(mobile): add channel list with relay integration (#315)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 08:42:29 -07:00
a444fb9516 feat(mobile): scaffold Flutter app with Riverpod & Catppuccin theme (#306)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 09:55:14 -07:00