This website requires JavaScript.
c7d384c606
docs: lock W7 friends-first model (friends = anchor, rooms = cosmetic)
mollusk and Claude Opus 4.8
2026-06-15 03:36:39 -04:00
b6984dda59
docs: redesign W7 around member-issued/multi-bootstrap tickets
mollusk and Claude Opus 4.8
2026-06-15 01:00:11 -04:00
0af2af2dd9
docs: scope contract for contacts + room-invite notifications (W7)
mollusk and Claude Opus 4.8
2026-06-14 23:27:56 -04:00
7e75ae31af
feat(notify): per-sound notification toggles (W6)
mollusk and Claude Opus 4.8
2026-06-14 23:06:49 -04:00
e917c5393f
fix(avatars): cache image handles so avatars don't flicker on redraw
mollusk and Claude Opus 4.8
2026-06-14 17:13:00 -04:00
f029a30ea7
feat(avatars): custom image upload — W4 Phase 3
mollusk and Claude Opus 4.8
2026-06-14 17:00:18 -04:00
3007002b1b
feat(avatars): 6 selectable preset avatars over presence — W4 Phase 2
mollusk and Claude Opus 4.8
2026-06-14 16:43:24 -04:00
19194f0cee
feat(avatars): monogram avatars in roster, self card, and chat — W4 Phase 1
mollusk and Claude Opus 4.8
2026-06-14 16:28:05 -04:00
2621576ed9
feat(chat): clickable links in chat messages (A13)
mollusk and Claude Opus 4.8
2026-06-14 15:46:58 -04:00
7af8edd5ae
fix(ui): explainer popup for screen share instead of a dead "Needs pixelpass" button (A11)
mollusk and Claude Opus 4.8
2026-06-14 15:41:04 -04:00
3d2124ed98
fix(ui): keep the Leave button reachable on a short window (A12)
mollusk and Claude Opus 4.8
2026-06-14 15:35:49 -04:00
eb99f89a91
fix(ui): stop the participant mute button shifting when a peer speaks (A10)
mollusk and Claude Opus 4.8
2026-06-14 15:33:42 -04:00
7c8f0114f7
fix(net): room creator can rejoin a room they left (A8)
mollusk and Claude Opus 4.8
2026-06-14 14:57:37 -04:00
88e0adec5d
feat(ui): in-call echo-cancellation toggle, synced with Settings
mollusk and Claude Opus 4.8
2026-06-14 03:47:19 -04:00
bd57bdd1bc
polish(ui): tooltip on the layout button + even Audio Devices spacing
mollusk and Claude Opus 4.8
2026-06-14 03:35:18 -04:00
472e2b7230
fix(ui): robustly center the Settings header title
mollusk and Claude Opus 4.8
2026-06-14 03:32:53 -04:00
9e5fd63291
feat(dsp): double-talk detection for the NLMS echo canceller (Stage C)
mollusk and Claude Opus 4.8
2026-06-14 02:45:40 -04:00
eeb725f996
feat(dsp): in-process NLMS echo canceller + headless AEC test loop
mollusk and Claude Opus 4.8
2026-06-14 02:39:01 -04:00
aa94e861b1
feat(dsp): spectrogram + AEC measurement toolkit (specview)
mollusk and Claude Opus 4.8
2026-06-14 02:25:58 -04:00
d3e831d5e7
feat(audio): multitrack stem recording — Stage 3 (Recording settings UI)
mollusk and Claude Opus 4.8
2026-06-14 02:04:07 -04:00
729f5ed6a5
docs(multitrack): mark Stages 1+2 done
mollusk and Claude Opus 4.8
2026-06-14 00:05:32 -04:00
f6520b79f7
feat(audio): multitrack stem recording — Stage 2 (wire into the mixer)
mollusk and Claude Opus 4.8
2026-06-14 00:04:49 -04:00
fde6f8a680
feat(audio): multitrack stem recording — Stage 1 (pure core + plan)
mollusk and Claude Opus 4.8
2026-06-13 23:48:07 -04:00
3edac3f8d1
feat(ui): category headers on the Settings page
mollusk and Claude Opus 4.8
2026-06-13 22:33:06 -04:00
2b52a48efe
fix(security): authenticate gossip payloads (S2 — sign + verify, replay-bound)
mollusk and Claude Opus 4.8
2026-06-13 21:42:02 -04:00
fe627166d5
fix(security): close S3 (arg-injection), S4 (presence-name), S1 (panic-slice)
mollusk and Claude Opus 4.8
2026-06-13 21:16:24 -04:00
420535c5d3
feat(ui): sticky Settings header with Back button
mollusk and Claude Opus 4.8
2026-06-13 20:15:17 -04:00
c899b1cb94
fix(audio): playback worker re-checks running flag so stop() can't hang (A7)
mollusk and Claude Opus 4.8
2026-06-13 19:58:16 -04:00
5bd32250a5
fix(audio): honor per-cycle quantum in playback (A1, crackle on non-1024 hw)
mollusk and Claude Opus 4.8
2026-06-13 19:49:53 -04:00
7d86c9be7f
Merge feat/ui-themes: selectable UI themes (10 palettes + swatch picker)
mollusk
2026-06-13 17:43:13 -04:00
c87fa3d45f
feat(ui): selectable UI themes (10 palettes + swatch picker)
mollusk and Claude Opus 4.8
2026-06-13 17:43:13 -04:00
53c1c112e6
Merge feat/x11-position-restore: restore window position on X11
mollusk
2026-06-13 16:51:22 -04:00
c888c30c08
feat(window): restore window position on X11
mollusk and Claude Opus 4.8
2026-06-13 16:51:22 -04:00
45cea799ec
chore: gitignore makepkg build artifacts
mollusk and Claude Opus 4.8
2026-06-12 21:07:39 -04:00
02065d23bc
feat: app icon + Arch package (PKGBUILD + .desktop)
mollusk and Claude Opus 4.8
2026-06-12 19:58:04 -04:00
a757353c69
Merge fix/remember-window-size: persist + restore window size
mollusk
2026-06-06 17:44:11 -04:00
88905e5173
fix(ui): remember window size across launches
mollusk and Claude Opus 4.8
2026-06-06 17:42:59 -04:00
1a377a2323
docs: note the canvas icon set in FEATURES
mollusk and Claude Opus 4.8
2026-06-06 17:20:47 -04:00
08f173440a
Merge feat/icon-set: canvas-drawn icon set replacing emoji
mollusk
2026-06-06 17:17:56 -04:00
f4d3ad9d7f
feat(ui): canvas-drawn icon set replacing emoji
mollusk and Claude Opus 4.8
2026-06-06 17:14:25 -04:00
375d9ad261
docs: screen share single-sharer 2-machine path field-verified
mollusk and Claude Opus 4.8
2026-06-06 16:30:31 -04:00
4ee31cc889
Merge feat/screenshare: screen sharing via pixelpass
mollusk
2026-06-06 16:14:59 -04:00
d9e544607a
feat: screen sharing via pixelpass (Discord-style, presence-borne ticket)
mollusk and Claude Opus 4.8
2026-06-06 15:46:34 -04:00
5dad86db57
docs: lock screen-share integration design (peerspeak <-> pixelpass)
mollusk and Claude Opus 4.8
2026-06-06 06:14:14 -04:00
be2ee334b4
docs: add user-facing feature inventory with field-test status
mollusk and Claude Opus 4.8
2026-06-06 03:48:43 -04:00
2f12d54a80
feat(ui): selectable room layouts with a thumbnail picker
mollusk and Claude Opus 4.8
2026-06-06 00:20:41 -04:00
b436b57f13
feat: remember last nickname + sanitize chat input
mollusk and Claude Opus 4.8
2026-06-05 23:02:08 -04:00
5279a53400
feat(ui): draggable, persisted dividers between room panels
mollusk and Claude Opus 4.8
2026-06-05 22:39:53 -04:00
68d78ff411
chore(test): drop useless vec! in recorder wav test
mollusk and Claude Opus 4.8
2026-06-05 22:00:02 -04:00
0ea91eb026
Merge gemini/chat-tests: chat wire + history-cap unit tests
mollusk
2026-06-05 21:58:51 -04:00
7bbe4f3af6
test: cover chat wire type + history cap
mollusk and Claude Opus 4.8
2026-06-05 21:58:51 -04:00
a6aca73c67
feat: in-room text chat over the gossip plane
mollusk and Claude Opus 4.8
2026-06-05 21:55:49 -04:00
c3cf00f46f
feat: local call recording (your mic + incoming mix) to WAV
mollusk and Claude Opus 4.8
2026-06-05 21:48:46 -04:00
674c9b6950
Merge gemini/limiter-tests: dense soft-limiter test battery
mollusk
2026-06-05 21:31:23 -04:00
90717cda37
test(audio): dense battery for the mix-bus soft limiter
mollusk and Claude Opus 4.8
2026-06-05 21:31:23 -04:00
38c92ced62
feat(audio): mix-bus soft peak limiter
mollusk and Claude Opus 4.8
2026-06-05 21:27:32 -04:00
c5962f2703
Merge branch 'gemini/doc-adaptive-jitter': document adaptive playout-delay controller
mollusk
2026-06-05 18:58:28 -04:00
1bf79be0e1
docs(architecture): document the adaptive playout-delay controller
mollusk and Claude Opus 4.8
2026-06-05 18:58:28 -04:00
c935c15e92
Merge branch 'gemini/jitter-adaptive-edge-tests': adaptive-controller edge tests
mollusk
2026-06-05 18:55:42 -04:00
9f1b276f36
test(jitter): cover grown-target re-prime and overflow clean_run reset
mollusk and Claude Opus 4.8
2026-06-05 18:55:42 -04:00
43b03ba784
Merge branch 'gemini/trial-format-duration': format_duration hour-boundary tests
mollusk
2026-06-05 18:49:15 -04:00
6541834e0d
test(app): pin format_duration hour-boundary cases
mollusk and Claude Opus 4.8
2026-06-05 18:49:11 -04:00
3d7d0fac11
Merge branch 'feature/adaptive-jitter-buffer': adaptive jitter playout delay
mollusk
2026-06-05 18:34:55 -04:00
4e8074cb92
feat(jitter): adaptive playout delay driven by buffer feedback
mollusk and Claude Opus 4.8
2026-06-05 18:34:52 -04:00
6885180b39
Merge branch 'gemini/pw-cli-tests': parse_pw_nodes unit tests
mollusk
2026-06-02 17:08:44 -04:00
8614b26824
test(audio): unit tests for parse_pw_nodes device parser
mollusk and Claude Opus 4.8
2026-06-02 17:08:44 -04:00
c96d6f020f
Merge branch 'refactor/pw-cli-parse-seam': pure parse_pw_nodes seam
mollusk
2026-06-02 17:03:25 -04:00
ec7d1a85b5
refactor(audio): extract pure parse_pw_nodes from device enumeration
mollusk and Claude Opus 4.8
2026-06-02 17:03:25 -04:00
d8cdebbf5a
Merge branch 'feature/room-screen': in-room VU meters, local mute, call info bar
mollusk
2026-06-02 16:57:50 -04:00
3708ca1e15
feat(room): per-peer VU meters, own mic meter, local mute, call info bar
mollusk and Claude Opus 4.8
2026-06-02 16:57:50 -04:00
88d1268b6e
Merge branch 'gemini/jitter-edge-tests': jitter buffer state-transition tests
mollusk
2026-06-02 16:33:55 -04:00
9d278ded5a
test(jitter): state-transition edge cases for JitterBuffer
mollusk and Claude Opus 4.8
2026-06-02 16:33:55 -04:00
2c17310adc
Merge branch 'feature/io-volume': input/output volume sliders
mollusk
2026-06-02 16:21:40 -04:00
5af25bff5e
feat(audio): input/output volume sliders in Settings
mollusk and Claude Opus 4.8
2026-06-02 16:21:39 -04:00
cb2776cc1d
Merge branch 'gemini/gate-tests': noise gate edge-case unit tests
mollusk
2026-06-02 16:00:15 -04:00
fa951e570f
test(audio): edge-case unit tests for the noise gate
mollusk and Claude Opus 4.8
2026-06-02 16:00:15 -04:00
b36e8f239a
Merge branch 'test/mic-meter-regression': mic meter + gate drag unit tests
mollusk
2026-06-02 15:50:43 -04:00
ca28c56443
test(audio): regression tests for mic meter + gate drag
mollusk and Claude Opus 4.8
2026-06-02 15:50:43 -04:00
c2b8f5a62b
Merge branch 'feature/mic-vu-meter': live mic meter with draggable noise gate
mollusk
2026-06-02 15:48:37 -04:00
b4d0f2db7b
feat(audio): live mic meter with draggable noise gate
mollusk and Claude Opus 4.8
2026-06-02 14:36:04 -04:00
a15c70623d
Merge branch 'gemini/mixer-edge-tests': mixer edge-case unit tests
mollusk and Claude Opus 4.8
2026-06-02 05:57:40 -04:00
915ad8a1ee
test(core): mixer edge cases — volume rounding, multi-peer, frame_level
mollusk and Claude Opus 4.8
2026-06-02 05:57:19 -04:00
846150659a
refactor(app): extract reconnect-chime edge triggers + unit tests
mollusk and Claude Opus 4.8
2026-06-02 05:54:13 -04:00
dce9fdfb85
Merge branch 'gemini/jitter-tests': seq_before + buffer overflow unit tests
mollusk and Claude Opus 4.8
2026-06-02 05:50:14 -04:00
1397889369
test(jitter): seq_before wraparound + buffer overflow/resync
mollusk and Claude Opus 4.8
2026-06-02 05:49:40 -04:00
fa3d785997
refactor(core): extract pure mixer fns + add saturation unit tests
mollusk and Claude Opus 4.8
2026-06-02 05:41:25 -04:00
eb7700dee4
Merge branch 'gemini/ticket-tests': ticket codec + gossip wire-type unit tests
mollusk and Claude Opus 4.8
2026-06-02 05:37:26 -04:00
8f1ecb2a5e
test(network): unit tests for ticket codec + gossip wire types
mollusk and Claude Opus 4.8
2026-06-02 05:37:08 -04:00
f3e7b4fbca
Merge branch 'gemini/codec-tests': Opus codec unit tests
mollusk and Claude Opus 4.8
2026-06-02 05:24:20 -04:00
87fb1595c9
test(codec): unit tests for Opus encode/decode + PLC sizing
mollusk and Claude Opus 4.8
2026-06-02 05:23:07 -04:00
131d61e61a
Merge branch 'gemini/config-tests': AppConfig serde unit tests
mollusk and Claude Opus 4.8
2026-06-02 05:16:32 -04:00
0f1f7f76a0
test(config): unit tests for AppConfig serde + defaults
mollusk and Claude Opus 4.8
2026-06-02 05:15:43 -04:00
99bd1f0c57
feat: echo cancellation via PipeWire module-echo-cancel
mollusk and Claude Opus 4.8
2026-06-01 16:41:06 -04:00
a7ad07d1f5
feat: smooth noise gate for mic sensitivity
mollusk and Claude Opus 4.8
2026-06-01 16:35:41 -04:00
ead3031f3c
test: cover graceful-leave instant-evict and rejoin-after-eviction edges
mollusk and Claude Opus 4.8
2026-06-01 15:46:15 -04:00
e3b63c0856
fix: make log_msg writes atomic
mollusk and Claude Opus 4.8
2026-06-01 15:43:08 -04:00
821102beb6
feat: responsive full-window settings layout
mollusk and Claude Opus 4.8
2026-06-01 05:42:35 -04:00
fe4c7f9ee5
docs: add ARCHITECTURE.md overview
mollusk and Claude Opus 4.8
2026-06-01 05:08:25 -04:00
3b7e6e076e
test: regression coverage for transport-driven reconnect eviction
mollusk and Claude Opus 4.8
2026-06-01 05:01:03 -04:00
bc1a0a2b23
fix: arm reconnect grace timer from the transport, not just gossip
mollusk and Claude Opus 4.8
2026-06-01 04:06:46 -04:00