-
Notifications
You must be signed in to change notification settings - Fork 0
13 Messaging Timeline Composer and Inbox
Corresponding Specifications:
sys-arch/ui-ux-04-conversation-list-inbox-architecture.md,sys-arch/ui-ux-05-conversation-message-timeline-architecture.md,sys-arch/ui-ux-06-message-composer-attachments-voice-notes-drafts-architecture.md
Key Crates:crates/siar-ui-state,crates/siar-messaging
The SIAR inbox indexes direct 1-on-1 chats, MLS encrypted groups, and emergency broadcast feeds:
+-------------------------------------------------------------------------------+
| [Search Conversations / Transports] [+ New Chat / Group] |
+-------------------------------------------------------------------------------+
| [*] Emergency SOS Alert Hub (3 active broadcasts nearby) [12:42] (3) |
| [o] Alice Smith [BLE Direct] Hey, are you safe? [12:40] (1) |
| [o] Field Rescue Team Bravo [Mesh Mule] Checkpoint B reached [12:35] |
| [ ] Charlie (Offline) [DTN Spray] Voice note (0:42) [11:15] |
| [ ] Logistics & Supply Channel [LAN Relay] Supplies in route [Yesterday] |
+-------------------------------------------------------------------------------+
Every conversation item displays real-time transport route indicators:
- 🟢 Direct Local: Connected over sub-10ms BLE, Wi-Fi Direct, or LAN.
- 🟡 Multi-Hop Mesh: Reachable via intermediate peer hops (
$N$ hops away). - 🟣 DTN Mule Transit: Message carried asynchronously by moving mules.
- 🔵 Internet Relay: Reachable over encrypted Iroh/QUIC cloud tunnel.
To render timelines with
graph TD
DB[Stoolap Message Table] -->|Chunk Query: LIMIT 50 OFFSET N| Cache[In-Memory Message Cache]
Cache --> DiffEngine[Timeline Diff Engine]
DiffEngine --> VirtualList[Virtualized Reverse Scroll Container]
VirtualList --> RenderBubble[Message Bubble Component]
| Visual Glyph | Meaning | Underlying Engine State |
|---|---|---|
| 🕒 | Pending | Queued in local outbox, awaiting physical radio link |
| ⬆️ | Transmitting | Actively sending fragments over radio driver |
| 🎒 | Mule Carried | Transferred to trusted DTN carrier node |
| ✓ | Sent / Stored | Delivered to direct peer or mesh gateway |
| ✓✓ | Delivered | Reached recipient device and committed to storage |
| 👁️ (Blue) | Read | Recipient has rendered conversation view |
| Failed | Hop limit exceeded or cryptographic verification error |
The composer subsystem provides rich multimodal interaction with instant local feedback:
+-------------------------------------------------------------------------------+
| [ + Attachment ] [ Type encrypted message... ] [ 🎤 Hold ]|
+-------------------------------------------------------------------------------+
| Draft auto-saved • Enter to Send • Shift+Enter for New Line • Max size: 50 MB |
+-------------------------------------------------------------------------------+
- Low-Latency Capture: High-definition microphone audio capture at 48 kHz.
- Realtime Waveform Preview: Calculates 60-band audio energy levels every 20ms for dynamic visual waveform rendering.
- On-the-Fly Opus Compression: Encodes directly to Opus bitstream during recording, eliminating post-recording compression delays.
- Instant Encryption: Encrypts and enqueues the resulting blob manifest the moment the user releases the record button.
SIAR — Survivable Identity & Autonomous Routing
Open Source Mesh & DTN Communications Platform | Dual Licensed under MIT / Apache-2.0 / Commercial
Documentation Index • GitHub Repository • System Specifications
- 04-Autonomous-Routing-and-Policy-Engine
- 05-Proximity-and-Hardware-Transports
- 06-Delay-Tolerant-Networking-and-Bundle-Forwarding
- 07-Battery-Aware-Scheduling-and-Emergency-Mesh
- 08-Offline-Event-Log-and-Outbox-Engine
- 09-Robust-Blob-Storage-and-Chunk-Transfers
- 10-Crash-Recovery-and-Data-Portability
- 11-Realtime-Audio-Video-Calling-Architecture
- 12-Cross-Platform-Client-Architecture
- 13-Messaging-Timeline-Composer-and-Inbox
- 14-Contacts-Groups-and-Security-Center
- 15-Nearby-Discovery-and-Out-of-Band-Pairing
- 16-Notifications-Presence-and-Background-Lifecycle
- 17-Local-Knowledge-Retrieval-and-Search
- 25-Design-System-Tokens-and-Responsive-Layouts
- 26-UI-UX-Performance-Testing-and-Quality-Gates
- 18-Protocol-Extensions-and-WASM-Plugins
- 19-Headless-Daemons-and-Embedded-Nodes
- 20-C-ABI-FFI-and-Native-Language-Bindings
- 21-Testing-Fuzzing-and-Network-Diagnostics
- 22-Getting-Started-and-Developer-Guide
- 23-Off-Grid-Survival-and-Field-Operations-Guide
- 24-System-Comparison-and-Benchmarking