feat: sound notification chimes for connection lifecycle events

Audible chimes for reconnect/reconnected/reconnect-failed, self-leave,
peer join/leave, and mic/deafen toggle, completing the 4-phase
notification plan (phase 1 room/peer join+leave shipped in 673b72d).

- Per-event custom WAV overrides in Settings, with ~ expansion and live
  file-found/not-found validation; persisted on settings exit. Each event
  falls back to its embedded default chime when no custom path is set.
- Reconnect-attempt chime is edge-triggered: fires once per disconnect,
  not once per redial attempt.
- Global "enable sound notifications" toggle.
This commit is contained in:
2026-06-01 03:31:12 -04:00
parent bddd1a0e6e
commit 2aec154f07
11 changed files with 270 additions and 33 deletions
+10
View File
@@ -66,6 +66,16 @@ CHIMES = {
"peer-join.wav": [(G4, 0.13), (C5, 0.28)],
# Someone left: two-note fall — the mirror of an arrival.
"peer-leave.wav": [(C5, 0.13), (G4, 0.28)],
# Reconnecting to peer: soft single Bb4 note.
"reconnect-attempt.wav": [(466.16, 0.20)],
# Reconnected to peer: bright two-note rise (C5 -> G5).
"reconnected.wav": [(C5, 0.10), (G5, 0.25)],
# Left a room: descending triad.
"self-leave.wav": [(G5, 0.10), (E5, 0.10), (C5, 0.25)],
# Mute/unmute toggle: tiny clean blip.
"mic-toggle.wav": [(E5, 0.08)],
# Reconnect gave up: disappointing low two-note fall.
"reconnect-failed.wav": [(C5, 0.15), (349.23, 0.30)],
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.