You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -321,6 +322,42 @@ Internet radio ICY streams often emit dirty titles like:
321
322
322
323
---
323
324
325
+
## 🎉 Terminal Party Line: P2P Mesh Synchronized Radio Rooms & Reactions
326
+
327
+
Share the groove with teammates, study groups, or friends with zero central audio relaying! `halpradio` features an end-to-end encrypted (E2EE) P2P mesh party system powered by WebRTC data channels:
328
+
329
+
### 👥 In-TUI Party Manager (`Ctrl+p`)
330
+
-**Quick Create & Join**: Press `Ctrl+p` anywhere in the app to host a new room with a memorable 6-character room code (e.g. `#8X2K9P`) or join an existing session.
331
+
-**Argon2id & AES-256-GCM Encryption**: Every party room derives high-entropy session keys with Argon2id and encrypts all peer-to-peer control traffic using AES-256-GCM with CSPRNG nonces.
332
+
-**Zero Central Audio Relaying**: Audio streams directly from the source radio broadcast on each client while synchronization commands and metadata travel peer-to-peer over WebRTC data channels.
333
+
-**DJ Pass Governance**: Host can choose **Host Only** (only the room creator can change stations) or **Open Democracy** (any participant can tune stations).
334
+
-**Sub-Second Playback Sync**: Late-joining listeners automatically tune to the room's current broadcast with sub-second clock sync.
335
+
-**Deterministic Host Election**: If the room host disconnects, peers deterministically elect a successor host without interrupting playback.
336
+
337
+
### 🎈 Live ASCII Reactions & Mini-Chat
338
+
- While in an active party room, press `1` - `5` anytime to float live reactions across connected listeners' terminals:
339
+
-`1`: 🔥 Fire
340
+
-`2`: ❤️ Heart
341
+
-`3`: ☕ Coffee
342
+
-`4`: 🚀 Rocket
343
+
-`5`: 👀 Eyes
344
+
- Floating reactions rise and decay gracefully over 3.5 seconds in the party bar without disturbing your TUI view.
345
+
346
+
### ⌨️ CLI Party Commands
347
+
Control and join party rooms directly from your shell or tmux sessions:
348
+
```bash
349
+
halpradio party create "team-focus"# Create room and launch TUI
350
+
halpradio party create --dj-pass=open # Create room with democratic DJ control
351
+
halpradio party create --headless # Host room headlessly in server / tmux
352
+
halpradio party join 8X2K9P # Join room #8X2K9P with interactive TUI
353
+
halpradio party status # Inspect current room, listener count, and host
354
+
halpradio party react 1 # Send 🔥 reaction to current room
355
+
halpradio party chat "Loving this track!"# Send mini-chat ping to room
356
+
halpradio party leave # Disconnect from current room
357
+
```
358
+
359
+
---
360
+
324
361
## ⌨️ Navigation & Keybindings (Vim & Media Style)
325
362
326
363
Press `?` or `F1` anywhere in **halpradio** to open the floating **WhichKey Overlay**.
@@ -338,7 +375,9 @@ Press `?` or `F1` anywhere in **halpradio** to open the floating **WhichKey Over
338
375
||`0` / `F`| Jump directly to Analog Frequency Tuner (experimental) |
339
376
||`g` / `G`| Jump to top / bottom of list |
340
377
||`Ctrl+u` / `Ctrl+d`| Half page up / down |
341
-
|**Discovery & Sharing**|`I`|**Identify playing track** via acoustic stream fingerprinting (Chromaprint / AcoustID) |
0 commit comments