|
927
|
11
|
accessibility
|
AXLink
|
CODE_OF_CONDUCT.md, (File)
|
926
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
178
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
926
|
11
|
accessibility
|
AXStaticText
|
last week
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
177
|
{"role_description":"text"}
|
|
925
|
11
|
accessibility
|
AXStaticText
|
fix: remove stats feature (badge, route, module) + fix: remove stats feature (badge, route, module) + resolve write_queu…...
|
924
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
176
|
{"role_description":"text"}
|
|
924
|
11
|
accessibility
|
AXLink
|
fix: remove stats feature (badge, route, module) + fix: remove stats feature (badge, route, module) + resolve write_queu…...
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
175
|
{"help_text":"fix: remove stats featur {"help_text":"fix: remove stats feature (badge, route, module) + resolve write_queue merge conflict Stats was causing unnecessary DB load and UI overhead. Also resolved merge conflict in write_queue.rs keeping the more robust nested transaction error handling. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
923
|
11
|
accessibility
|
AXStaticText
|
CLAUDE.md
|
922
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
174
|
{"role_description":"text"}
|
|
922
|
11
|
accessibility
|
AXLink
|
CLAUDE.md, (File)
|
921
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
173
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
921
|
11
|
accessibility
|
AXStaticText
|
2 hours ago
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
172
|
{"role_description":"text"}
|
|
920
|
11
|
accessibility
|
AXStaticText
|
)
|
919
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
171
|
{"role_description":"text"}
|
|
919
|
11
|
accessibility
|
AXLink
|
)
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
170
|
{"help_text":"fix: graceful DRM pause {"help_text":"fix: graceful DRM pause without killing the server (#2876) * fix: release SCK streams on VisionManager stop + timeout on stop_monitor Aborting tokio capture tasks doesn't release sck_rs's global SCStream handles. After stopping all monitors, explicitly call invalidate_streams() followed by a 500ms sleep so the detached stream.stop() threads complete and the purple recording dot disappears. Also adds a 3-second timeout to stop_monitor's join-after-abort — if the capture task is stuck in a spawn_blocking AX tree walk, we log a warning and move on instead of hanging indefinitely. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: stop SCK audio devices during DRM detection System Audio uses cpal's ScreenCaptureKit host, which holds its own SCK session independently of vision. Even with vision streams fully released, the purple recording dot persists and DRM content stays blacked out. AudioManager gains stop_output_devices() / start_output_devices() that pause only Output (SCK) devices while leaving microphone input running. A guard in start_device() prevents the device monitor from restarting DRM-paused devices. The monitor watcher now accepts an optional AudioManager and calls these methods alongside vision stop/start during DRM transitions. After audio_manager.start() in both the CLI binary and Tauri embedded server, we check drm_content_paused() and immediately stop output devices if DRM was already active at launch (audio starts on a delay, so the DRM callback can fire before audio is ready). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add --pause-on-drm-content CLI flag Exposes the DRM pause setting as a CLI argument so headless/CLI users can opt in without editing the config file. Also shows the setting in the startup settings table. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * add serena to gitignore * test: add unit tests for DRM recording pause features - drm_detector: check_and_update_drm_state flag set/clear/disable/preserve - audio_manager: DRM stopped devices tracking, output-only filtering, guard blocking restart of paused devices, guard allowing input devices, guard clearing after DRM ends - cli: --pause-on-drm-content default false, flag sets true, flows to RecordingSettings - vision_manager: stop_monitor completes on normal/finished tasks, times out on slow spawn_blocking tasks Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use engine-internal DRM pause instead of killing the server The Tauri health monitor was shutting down and restarting the entire screenpipe server when DRM content was detected. Instead, delegate to the engine's monitor_watcher which gracefully stops/restarts just the VisionManager and AudioManager, and pass audio_manager to the watcher so it can pause SCK audio devices during DRM detection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
918
|
11
|
accessibility
|
AXStaticText
|
#2876
|
917
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
169
|
{"role_description":"text"}
|
|
917
|
11
|
accessibility
|
AXLink
|
#2876
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
168
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
916
|
11
|
accessibility
|
AXStaticText
|
fix: graceful DRM pause without killing the server fix: graceful DRM pause without killing the server (...
|
915
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
167
|
{"role_description":"text"}
|
|
915
|
11
|
accessibility
|
AXLink
|
fix: graceful DRM pause without killing the server fix: graceful DRM pause without killing the server (...
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
166
|
{"help_text":"fix: graceful DRM pause {"help_text":"fix: graceful DRM pause without killing the server (#2876) * fix: release SCK streams on VisionManager stop + timeout on stop_monitor Aborting tokio capture tasks doesn't release sck_rs's global SCStream handles. After stopping all monitors, explicitly call invalidate_streams() followed by a 500ms sleep so the detached stream.stop() threads complete and the purple recording dot disappears. Also adds a 3-second timeout to stop_monitor's join-after-abort — if the capture task is stuck in a spawn_blocking AX tree walk, we log a warning and move on instead of hanging indefinitely. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: stop SCK audio devices during DRM detection System Audio uses cpal's ScreenCaptureKit host, which holds its own SCK session independently of vision. Even with vision streams fully released, the purple recording dot persists and DRM content stays blacked out. AudioManager gains stop_output_devices() / start_output_devices() that pause only Output (SCK) devices while leaving microphone input running. A guard in start_device() prevents the device monitor from restarting DRM-paused devices. The monitor watcher now accepts an optional AudioManager and calls these methods alongside vision stop/start during DRM transitions. After audio_manager.start() in both the CLI binary and Tauri embedded server, we check drm_content_paused() and immediately stop output devices if DRM was already active at launch (audio starts on a delay, so the DRM callback can fire before audio is ready). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add --pause-on-drm-content CLI flag Exposes the DRM pause setting as a CLI argument so headless/CLI users can opt in without editing the config file. Also shows the setting in the startup settings table. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * add serena to gitignore * test: add unit tests for DRM recording pause features - drm_detector: check_and_update_drm_state flag set/clear/disable/preserve - audio_manager: DRM stopped devices tracking, output-only filtering, guard blocking restart of paused devices, guard allowing input devices, guard clearing after DRM ends - cli: --pause-on-drm-content default false, flag sets true, flows to RecordingSettings - vision_manager: stop_monitor completes on normal/finished tasks, times out on slow spawn_blocking tasks Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: use engine-internal DRM pause instead of killing the server The Tauri health monitor was shutting down and restarting the entire screenpipe server when DRM content was detected. Instead, delegate to the engine's monitor_watcher which gracefully stops/restarts just the VisionManager and AudioManager, and pass audio_manager to the watcher so it can pause SCK audio devices during DRM detection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
914
|
11
|
accessibility
|
AXStaticText
|
.gitignore
|
913
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
165
|
{"role_description":"text"}
|
|
913
|
11
|
accessibility
|
AXLink
|
.gitignore, (File)
|
912
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
164
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
912
|
11
|
accessibility
|
AXStaticText
|
2 weeks ago
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
163
|
{"role_description":"text"}
|
|
911
|
11
|
accessibility
|
AXStaticText
|
fix: download mlx.metallib from GitHub releases in fix: download mlx.metallib from GitHub releases instead of git LFS...
|
910
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
162
|
{"role_description":"text"}
|
|
910
|
11
|
accessibility
|
AXLink
|
fix: download mlx.metallib from GitHub releases in fix: download mlx.metallib from GitHub releases instead of git LFS...
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
161
|
{"help_text":"fix: download mlx.metall {"help_text":"fix: download mlx.metallib from GitHub releases instead of git LFS - build.rs downloads the 84MB metallib from a pinned GitHub release (mlx-metallib-v0.2.0) on first build, caches locally - Remove git LFS tracking — no large files in repo - Add mlx.metallib to .gitignore Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
909
|
11
|
accessibility
|
AXStaticText
|
.gitattributes
|
908
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
160
|
{"role_description":"text"}
|
|
908
|
11
|
accessibility
|
AXLink
|
.gitattributes, (File)
|
907
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
159
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
907
|
11
|
accessibility
|
AXStaticText
|
16 hours ago
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
158
|
{"role_description":"text"}
|
|
906
|
11
|
accessibility
|
AXStaticText
|
fix: enrich OpenAPI spec with tags, summaries, and fix: enrich OpenAPI spec with tags, summaries, and descriptions...
|
905
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
157
|
{"role_description":"text"}
|
|
905
|
11
|
accessibility
|
AXLink
|
fix: enrich OpenAPI spec with tags, summaries, and fix: enrich OpenAPI spec with tags, summaries, and descriptions...
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
156
|
{"help_text":"fix: enrich OpenAPI spec {"help_text":"fix: enrich OpenAPI spec with tags, summaries, and descriptions Add post-processing script (enrich-openapi.py) that adds: - Tag groups (Search, Frames, Audio, Meetings, Vault, etc.) - Human-readable summaries for each endpoint - Descriptions for key endpoints - API info/description block This makes the Mintlify API reference grouped and readable instead of a flat list of \"Get audiolist\" / \"Post speakershallucination\". Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
904
|
11
|
accessibility
|
AXStaticText
|
scripts
|
903
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
155
|
{"role_description":"text"}
|
|
903
|
11
|
accessibility
|
AXLink
|
scripts, (Directory)
|
902
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
154
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
902
|
11
|
accessibility
|
AXStaticText
|
yesterday
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
153
|
{"role_description":"text"}
|
|
901
|
11
|
accessibility
|
AXStaticText
|
fix: raise transcription daily cost cap for subscr fix: raise transcription daily cost cap for subscribed users to $500...
|
900
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
152
|
{"role_description":"text"}
|
|
900
|
11
|
accessibility
|
AXLink
|
fix: raise transcription daily cost cap for subscr fix: raise transcription daily cost cap for subscribed users to $500...
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
151
|
{"help_text":"fix: raise transcription {"help_text":"fix: raise transcription daily cost cap for subscribed users to $500 The per-device cost estimator inflates costs (estimates from file size, not actual Deepgram spend), so subscribed users were hitting a $50 fake limit while real Deepgram costs were ~$60/day globally. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
899
|
11
|
accessibility
|
AXStaticText
|
packages
|
898
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
150
|
{"role_description":"text"}
|
|
898
|
11
|
accessibility
|
AXLink
|
packages, (Directory)
|
897
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
149
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
897
|
11
|
accessibility
|
AXStaticText
|
2 days ago
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
148
|
{"role_description":"text"}
|
|
896
|
11
|
accessibility
|
AXStaticText
|
chore: cargo fmt across all crates
|
895
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
147
|
{"role_description":"text"}
|
|
895
|
11
|
accessibility
|
AXLink
|
chore: cargo fmt across all crates
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
146
|
{"help_text":"chore: cargo fmt across {"help_text":"chore: cargo fmt across all crates Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
894
|
11
|
accessibility
|
AXStaticText
|
ee
|
893
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
145
|
{"role_description":"text"}
|
|
893
|
11
|
accessibility
|
AXLink
|
ee, (Directory)
|
892
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
144
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
892
|
11
|
accessibility
|
AXStaticText
|
16 hours ago
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
143
|
{"role_description":"text"}
|
|
891
|
11
|
accessibility
|
AXStaticText
|
fix: enrich OpenAPI spec with tags, summaries, and fix: enrich OpenAPI spec with tags, summaries, and descriptions...
|
890
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
142
|
{"role_description":"text"}
|
|
890
|
11
|
accessibility
|
AXLink
|
fix: enrich OpenAPI spec with tags, summaries, and fix: enrich OpenAPI spec with tags, summaries, and descriptions...
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
141
|
{"help_text":"fix: enrich OpenAPI spec {"help_text":"fix: enrich OpenAPI spec with tags, summaries, and descriptions Add post-processing script (enrich-openapi.py) that adds: - Tag groups (Search, Frames, Audio, Meetings, Vault, etc.) - Human-readable summaries for each endpoint - Descriptions for key endpoints - API info/description block This makes the Mintlify API reference grouped and readable instead of a flat list of \"Get audiolist\" / \"Post speakershallucination\". Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
889
|
11
|
accessibility
|
AXStaticText
|
docs
|
888
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
140
|
{"role_description":"text"}
|
|
888
|
11
|
accessibility
|
AXLink
|
docs, (Directory)
|
887
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
139
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
887
|
11
|
accessibility
|
AXStaticText
|
2 months ago
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
138
|
{"role_description":"text"}
|
|
886
|
11
|
accessibility
|
AXStaticText
|
Bump app to v2.0.578
|
885
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
137
|
{"role_description":"text"}
|
|
885
|
11
|
accessibility
|
AXLink
|
Bump app to v2.0.578
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
136
|
{"is_enabled":true,"is_expanded":f {"is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
884
|
11
|
accessibility
|
AXStaticText
|
linux-test
|
882
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
135
|
{"role_description":"text"}
|
|
883
|
11
|
accessibility
|
AXStaticText
|
docker/
|
882
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
134
|
{"role_description":"text"}
|
|
882
|
11
|
accessibility
|
AXLink
|
docker/linux-test, (Directory)
|
881
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
133
|
{"help_text":"This path skips through {"help_text":"This path skips through empty directories","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
881
|
11
|
accessibility
|
AXStaticText
|
25 minutes ago
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
132
|
{"role_description":"text"}
|
|
880
|
11
|
accessibility
|
AXStaticText
|
fix: remove all blocking work from CGEventTap call fix: remove all blocking work from CGEventTap callback to reduce inpu…...
|
879
|
12
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
131
|
{"role_description":"text"}
|
|
879
|
11
|
accessibility
|
AXLink
|
fix: remove all blocking work from CGEventTap call fix: remove all blocking work from CGEventTap callback to reduce inpu…...
|
836
|
11
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
130
|
{"help_text":"fix: remove all blocking {"help_text":"fix: remove all blocking work from CGEventTap callback to reduce input lag Two changes to eliminate mutex contention and thread spawning in the input event hot path: 1. Replace Mutex<Option<String>> with ArcSwap for current_app/window context reads. ArcSwap::load() is wait-free — no mutex contention when every mouse move / key press reads the current app name. 2. Replace std::thread::spawn per click with a bounded channel to a single dedicated ctx-capture worker thread. The tap callback now does a non-blocking try_send instead of spawning a thread. The channel is bounded(4) so rapid clicks just drop context captures instead of spawning unbounded threads. These are the two highest-impact changes for the USB input lag issue: the CGEventTap callback runs synchronously for every input event and any delay directly causes mouse/keyboard lag. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>","is_enabled":true,"is_expanded":false,"is_focused":false,"is_selected":false,"role_description":"link"}...
|
|
878
|
11
|
accessibility
|
AXStaticText
|
crates
|
877
|
13
|
NULL
|
NULL
|
NULL
|
NULL
|
NULL
|
129
|
{"role_description":"text"}
|