Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
dc53d32
feat(voice): keep conversations active in background
johnmatthewtennant Aug 20, 2026
4a24382
fix(voice): close background lifecycle gaps
johnmatthewtennant Aug 20, 2026
3ea1f91
fix(voice): protect active sessions from archival
johnmatthewtennant Aug 20, 2026
55a328b
fix(voice): recheck archive ownership
johnmatthewtennant Aug 20, 2026
f359432
fix(voice): enable Tauri tray support
johnmatthewtennant Aug 20, 2026
9357d65
fix(voice): remove menu bar on main thread
johnmatthewtennant Aug 21, 2026
00eab54
feat(voice): add cross-platform Gloopie buddy
johnmatthewtennant Aug 21, 2026
1da5a5a
feat(voice): float Gloopie controls
johnmatthewtennant Aug 21, 2026
49cd8db
fix(voice): scope macOS buddy transparency
johnmatthewtennant Aug 21, 2026
73e207a
fix(voice): simplify floating controls
johnmatthewtennant Aug 21, 2026
76acc03
chore(voice): use neutral control naming
johnmatthewtennant Aug 21, 2026
a6ee268
chore(voice): refresh capability schema
johnmatthewtennant Aug 21, 2026
811bab1
refine floating voice controls
johnmatthewtennant Aug 21, 2026
c9f5ece
refine floating voice activity controls
johnmatthewtennant Aug 21, 2026
e0fc54a
fix(voice): use phone icon in global composer
johnmatthewtennant Aug 21, 2026
1c629db
fix(voice): bind floating activity to running call
johnmatthewtennant Aug 21, 2026
3043d73
fix(voice): strengthen speaking activity feedback
johnmatthewtennant Aug 21, 2026
d1d893b
fix(voice): scope floating controls to background
johnmatthewtennant Aug 21, 2026
0942c4b
fix(voice): serialize lifecycle controls
johnmatthewtennant Aug 21, 2026
4d7801d
fix(voice): stop calls before archiving
johnmatthewtennant Aug 21, 2026
8bca925
refactor(voice): share hang-up styling
johnmatthewtennant Aug 21, 2026
1d4f405
style(voice): format review tests
johnmatthewtennant Aug 21, 2026
2ffa086
fix(berdctl): expose voice archive failures
johnmatthewtennant Aug 21, 2026
604de5d
fix(voice): reconcile stale lifecycle stops
johnmatthewtennant Aug 21, 2026
2a7b4eb
fix(voice): guard archive lifecycle races
johnmatthewtennant Aug 22, 2026
f633f21
fix(voice): recover archive start leases
johnmatthewtennant Aug 22, 2026
19686c6
test(voice): cover native archive leases
johnmatthewtennant Aug 22, 2026
27f5ca8
fix(voice): reject stale archive leases
johnmatthewtennant Aug 22, 2026
1a755fb
fix(voice): retain archive lease identity
johnmatthewtennant Aug 22, 2026
e74bca9
fix(voice): preserve archive lock ordering
johnmatthewtennant Aug 22, 2026
bf2686f
fix(voice): integrate native input mute
johnmatthewtennant Aug 22, 2026
892c3d2
test(voice): verify serialized mute state
johnmatthewtennant Aug 22, 2026
1c2309b
fix(voice): apply queued mute intent
johnmatthewtennant Aug 22, 2026
90e929f
test(voice): initialize mute-aware pipeline
johnmatthewtennant Aug 22, 2026
2f31b72
fix(voice): unify native mute state
johnmatthewtennant Aug 22, 2026
ea6e74b
fix(voice): preserve latest mute observation
johnmatthewtennant Aug 22, 2026
fb9f9e5
fix(voice): avoid redundant mute reconciliation
johnmatthewtennant Aug 22, 2026
ce3363f
fix(voice): preserve mute event ordering
johnmatthewtennant Aug 22, 2026
77c1a80
chore(voice): document recognition boundary
johnmatthewtennant Aug 22, 2026
49e7b94
fix(voice): sample shutdown mute atomically
johnmatthewtennant Aug 22, 2026
df2943a
fix(voice): bind floating visibility renderer
johnmatthewtennant Aug 22, 2026
b24e775
fix(archive): honor deadline across voice lease
johnmatthewtennant Aug 22, 2026
cad0c6a
fix(notifications): choose channel after suppression
johnmatthewtennant Aug 22, 2026
60b7831
fix(voice): localize floating control states
johnmatthewtennant Aug 22, 2026
acebeba
test(voice): await localized reveal failure
johnmatthewtennant Aug 22, 2026
23066ec
refactor(voice): group visibility request
johnmatthewtennant Aug 22, 2026
7473980
fix(voice): bind owner controls to renderer
johnmatthewtennant Aug 22, 2026
4948fe0
chore: retrigger automated review
johnmatthewtennant Aug 22, 2026
00552b4
fix(voice): converge floating control readiness
johnmatthewtennant Aug 22, 2026
9fa7184
fix(voice): preserve readiness failure
johnmatthewtennant Aug 22, 2026
a4d4686
refactor(voice): scope speaking control style
johnmatthewtennant Aug 22, 2026
96e768a
fix(ui): mark voice previews non-submitting
johnmatthewtennant Aug 22, 2026
8b1a6ce
fix(voice): recover from controls convergence failure
johnmatthewtennant Aug 22, 2026
0f58e2d
fix(voice): bind controls recovery lifecycle
johnmatthewtennant Aug 22, 2026
3c4d84f
fix(voice): stop lifecycle when controls fail
johnmatthewtennant Aug 22, 2026
a5cafe7
fix(voice): serialize failure owner restoration
johnmatthewtennant Aug 22, 2026
c9f70f1
fix(voice): restore owner after terminal stop
johnmatthewtennant Aug 22, 2026
19d612f
test(voice): name owner restore policy precisely
johnmatthewtennant Aug 22, 2026
f561bf3
fix(voice): bound terminal lifecycle cleanup
johnmatthewtennant Aug 22, 2026
c7b4e63
fix(voice): quarantine timed-out recognizers
johnmatthewtennant Aug 22, 2026
b5fd7a8
fix(voice): report completed stops accurately
johnmatthewtennant Aug 22, 2026
9e66f79
fix(voice): preserve terminal control state
johnmatthewtennant Aug 22, 2026
e33f22b
fix(voice): terminate orphaned controls
johnmatthewtennant Aug 22, 2026
e7e3d40
fix(voice): bind terminal cleanup to controls
johnmatthewtennant Aug 22, 2026
5f46d11
fix(voice): separate controls and terminal revisions
johnmatthewtennant Aug 22, 2026
ac1040e
fix(voice): serialize owner close with startup
johnmatthewtennant Aug 22, 2026
1da59c9
fix(voice): ignore stale controls on close
johnmatthewtennant Aug 22, 2026
233ad1e
style(voice): format close predicate
johnmatthewtennant Aug 22, 2026
976e13f
fix(voice): bind destroyed owner lifecycle
johnmatthewtennant Aug 22, 2026
2c4fce6
fix(voice): close stale controls safely
johnmatthewtennant Aug 22, 2026
7cccfc5
fix(voice): stop when main owner closes
johnmatthewtennant Aug 22, 2026
9619abe
fix(voice): serialize destroyed owner cleanup
johnmatthewtennant Aug 22, 2026
6199f0f
fix(voice): preserve replacement capture
johnmatthewtennant Aug 22, 2026
80892ad
fix(voice): verify stale controls cleanup
johnmatthewtennant Aug 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src-tauri/capabilities/voice-buddy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "voice-buddy",
"description": "Capability for the always-on-top voice conversation buddy",
"windows": ["voice-buddy"],
"permissions": ["core:default", "core:window:allow-start-dragging"]
}
2 changes: 1 addition & 1 deletion src-tauri/gen/schemas/capabilities.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"default":{"identifier":"default","description":"Capability for the main window","local":true,"windows":["main"],"permissions":["core:default","core:window:allow-start-dragging","core:window:allow-toggle-maximize","core:window:allow-show","core:window:allow-close","core:window:allow-set-size","core:window:allow-set-min-size","deep-link:default","opener:default",{"identifier":"opener:allow-open-url","allow":[{"url":"linear://*"},{"url":"https://linear.app/*"}]},{"identifier":"opener:allow-open-path","allow":[{"path":"$HOME/**"},{"path":"$HOME/.goose/**"},{"path":"$TEMP/**"},{"path":"/Volumes/**"},{"path":"/mnt/**"},{"path":"/workspace/**"},{"path":"/workspaces/**"},{"path":"/opt/**"},{"path":"/srv/**"},{"path":"*:/**"}]},"window-state:allow-restore-state","window-state:allow-save-window-state","dialog:allow-open","dialog:allow-save","clipboard-manager:allow-write-text","app-test-driver:default","berdctl:default","updater:default","process:allow-restart","notification:default"]},"session-window":{"identifier":"session-window","description":"Capability for popped-out chat session windows","local":true,"windows":["session:*"],"permissions":["core:default","core:window:allow-start-dragging","core:window:allow-show","core:window:allow-close","core:window:allow-set-focus","core:window:allow-set-size","core:window:allow-set-min-size","opener:default",{"identifier":"opener:allow-open-url","allow":[{"url":"linear://*"},{"url":"https://linear.app/*"}]},{"identifier":"opener:allow-open-path","allow":[{"path":"$DOWNLOAD"}]},"dialog:allow-open","dialog:allow-save","berdctl:allow-status"],"platforms":["macOS"]}}
{"default":{"identifier":"default","description":"Capability for the main window","local":true,"windows":["main"],"permissions":["core:default","core:window:allow-start-dragging","core:window:allow-toggle-maximize","core:window:allow-show","core:window:allow-close","core:window:allow-set-size","core:window:allow-set-min-size","deep-link:default","opener:default",{"identifier":"opener:allow-open-url","allow":[{"url":"linear://*"},{"url":"https://linear.app/*"}]},{"identifier":"opener:allow-open-path","allow":[{"path":"$HOME/**"},{"path":"$HOME/.goose/**"},{"path":"$TEMP/**"},{"path":"/Volumes/**"},{"path":"/mnt/**"},{"path":"/workspace/**"},{"path":"/workspaces/**"},{"path":"/opt/**"},{"path":"/srv/**"},{"path":"*:/**"}]},"window-state:allow-restore-state","window-state:allow-save-window-state","dialog:allow-open","dialog:allow-save","clipboard-manager:allow-write-text","app-test-driver:default","berdctl:default","updater:default","process:allow-restart","notification:default"]},"session-window":{"identifier":"session-window","description":"Capability for popped-out chat session windows","local":true,"windows":["session:*"],"permissions":["core:default","core:window:allow-start-dragging","core:window:allow-show","core:window:allow-close","core:window:allow-set-focus","core:window:allow-set-size","core:window:allow-set-min-size","opener:default",{"identifier":"opener:allow-open-url","allow":[{"url":"linear://*"},{"url":"https://linear.app/*"}]},{"identifier":"opener:allow-open-path","allow":[{"path":"$DOWNLOAD"}]},"dialog:allow-open","dialog:allow-save","berdctl:allow-status"],"platforms":["macOS"]},"voice-buddy":{"identifier":"voice-buddy","description":"Capability for the always-on-top voice conversation buddy","local":true,"windows":["voice-buddy"],"permissions":["core:default","core:window:allow-start-dragging"]}}
1 change: 1 addition & 0 deletions src-tauri/src/commands/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ pub mod system;
pub mod telemetry;
pub mod terminal;
pub mod updates;
pub mod voice_buddy;
pub mod voice_capture;
pub mod whoami;
pub mod window_session;
Expand Down
Loading