|
71196
|
whisper_backend_init_gpu: using Metal backend
ggml whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.5...
|
iTerm2
|
screenpipe"
|
NULL
|
71196
|
|
71197
|
ggml_metal_init: allocating
ggml_metal_init: found ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decod...
|
iTerm2
|
screenpipe"
|
NULL
|
71197
|
|
71198
|
ggml_metal_init: use fusion = true
ggml_me ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:44:24.266930Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:44:25.014009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70823 paired=1 still_pending=0
2026-05-22T13:44:33.968081Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70825 paired=1 still_pending=0
2026-05-22T13:44:33.979801Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=13 pending_frames=3 total_pairs=1361 total_evicted=1661 total_failed=0
2026-05-22T13:44:36.441738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70828 paired=1 still_pending=0
2026-05-22T13:44:37.847861Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70830 paired=1 still_pending=0
2026-05-22T13:44:40.885653Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70832 paired=1 still_pending=0
2026-05-22T13:44:40.900310Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=11 pending_frames=6 total_pairs=1364 total_evicted=1663 total_failed=0
2026-05-22T13:44:42.701774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70834 paired=1 still_pending=0
2026-05-22T13:44:43.824847Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=8 total_pairs=1365 total_evicted=1664 total_failed=0
2026-05-22T13:44:52.043327Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=11 pending_frames=9 total_pairs=1365 total_evicted=1665 total_failed=0
2026-05-22T13:44:52.051169Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2116 row_id=72618 frame_id=70834
2026-05-22T13:44:57.722889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70838 paired=1 still_pending=0
2026-05-22T13:45:00.326619Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70841 paired=1 still_pending=0
2026-05-22T13:45:01.438065Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70843 paired=1 still_pending=0
2026-05-22T13:45:02.639871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70844 paired=1 still_pending=0
2026-05-22T13:45:03.540110Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=12 pending_frames=8 total_pairs=1370 total_evicted=1666 total_failed=0
2026-05-22T13:45:12.188389Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2129 row_id=72631 frame_id=70845
2026-05-22T13:45:12.202127Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=18 pending_frames=10 total_pairs=1371 total_evicted=1667 total_failed=0
2026-05-22T13:45:16.057099Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=18 pending_frames=8 total_pairs=1371 total_evicted=1670 total_failed=0
2026-05-22T13:45:16.057314Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70849 paired=1 still_pending=0
2026-05-22T13:45:20.875496Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=10 pending_frames=9 total_pairs=1372 total_evicted=1677 total_failed=0
2026-05-22T13:45:20.882266Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70852 paired=1 still_pending=0
2026-05-22T13:45:28.721297Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70854 paired=1 still_pending=0
2026-05-22T13:45:35.104940Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=10 pending_frames=10 total_pairs=1374 total_evicted=1678 total_failed=0
2026-05-22T13:45:35.105437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70857 paired=1 still_pending=0
2026-05-22T13:45:42.737020Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=10 pending_frames=7 total_pairs=1375 total_evicted=1682 total_failed=0
2026-05-22T13:45:42.737594Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70860 paired=1 still_pending=0
2026-05-22T13:46:14.157615Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=5 total_pairs=1376 total_evicted=1695 total_failed=0
2026-05-22T13:46:14.159184Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70864 paired=1 still_pending=0
2026-05-22T13:46:16.392400Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70868 paired=1 still_pending=0
2026-05-22T13:46:23.917654Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=5 total_pairs=1378 total_evicted=1697 total_failed=0
2026-05-22T13:46:23.917863Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70872 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:46:25.661664Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manag...
|
iTerm2
|
screenpipe"
|
NULL
|
71198
|
|
71200
|
2026-05-22T13:46:27.032835Z INFO screenpipe_engin 2026-05-22T13:46:27.032835Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:28.788486Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=5 total_pairs=1380 total_evicted=1698 total_failed=0
2026-05-22T13:46:31.845154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70873 paired=1 still_pending=0
2026-05-22T13:46:32.854166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70876 paired=1 still_pending=0
2026-05-22T13:46:35.636043Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70878 paired=1 still_pending=0
2026-05-22T13:46:35.640111Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=4 total_pairs=1383 total_evicted=1699 total_failed=0
2026-05-22T13:46:38.739268Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:43.843473Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=3 pending_frames=5 total_pairs=1384 total_evicted=1700 total_failed=0
2026-05-22T13:46:43.843853Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70881 paired=1 still_pending=0
2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size =...
|
iTerm2
|
screenpipe"
|
NULL
|
71200
|
|
71217
|
2026-05-22T13:46:57.771304Z INFO screenpipe_engin 2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-22T14:24:54.600747Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=23 elapsed=4.43952425s
2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted
2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted
2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state obse...
|
iTerm2
|
screenpipe"
|
NULL
|
71217
|
|
71218
|
2026-05-22T13:46:57.771304Z INFO screenpipe_engin 2026-05-22T13:46:57.771304Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:46:57.828894Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 136.5ms elapsed (expected 5.3ms) → inserting 131.2ms silence (12594 samples)
2026-05-22T13:46:57.958972Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 108.2ms elapsed (expected 5.3ms) → inserting 102.9ms silence (9875 samples)
2026-05-22T13:46:58.163835Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4235983745889776938, trigger=click)
2026-05-22T13:46:59.865716Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70885 paired=1 still_pending=0
2026-05-22T13:47:01.445136Z WARN sqlx::query: summary="COMMIT" db.statement="" rows_affected=1 rows_returned=0 elapsed=1.208017791s
2026-05-22T13:47:05.360940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70888 paired=1 still_pending=0
2026-05-22T13:47:13.360632Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70890 paired=1 still_pending=0
2026-05-22T13:47:14.277980Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=4 pending_frames=7 total_pairs=1389 total_evicted=1701 total_failed=0
2026-05-22T13:47:14.278856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70893 paired=1 still_pending=0
2026-05-22T13:47:18.243798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70896 paired=1 still_pending=0
2026-05-22T13:47:18.608605Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-4356225183775441222, trigger=click)
2026-05-22T13:47:24.476794Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=5 pending_frames=7 total_pairs=1391 total_evicted=1703 total_failed=0
2026-05-22T13:47:24.479856Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70897 paired=1 still_pending=0
2026-05-22T13:47:26.197251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70898 paired=1 still_pending=0
2026-05-22T13:47:29.536603Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=3 pending_frames=7 total_pairs=1393 total_evicted=1705 total_failed=0
2026-05-22T13:47:32.047773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70901 paired=1 still_pending=0
2026-05-22T13:48:03.509264Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=116 elapsed=2.640436125s
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:48:25.985291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:48:46.815103Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=49 elapsed=4.025636458s
2026-05-22T13:48:46.820516Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 49 eligible frames
2026-05-22T13:48:49.168546Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 23 frames, 6.3MB → 1.1MB (5.8x), 23 JPEGs deleted
2026-05-22T13:48:52.241021Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 3.9MB → 1.4MB (2.8x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:50:26.367261Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks
2026-05-22T13:51:35.287888Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70904 paired=1 still_pending=0
2026-05-22T13:51:35.320999Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1718 total_failed=0
2026-05-22T13:52:26.256014Z INFO screenpipe_db::db: created new speaker id=61 (no existing match within threshold)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:52:26.610576Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:52:27.441583Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:52:32.523749Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T13:53:56.217432Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=73 elapsed=3.960102541s
2026-05-22T13:53:56.218820Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 73 eligible frames
2026-05-22T13:53:58.224777Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 30 frames, 8.2MB → 0.7MB (11.3x), 30 JPEGs deleted
2026-05-22T13:54:01.451825Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 41 frames, 5.4MB → 1.6MB (3.4x), 41 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:54:27.010269Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:56:27.284955Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:08.349782Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 84.3ms elapsed (expected 5.3ms) → inserting 79.0ms silence (7586 samples)
2026-05-22T13:58:09.612845Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=0 total_pairs=1395 total_evicted=1719 total_failed=0
2026-05-22T13:58:12.018857Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70946 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T13:58:27.685393Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T13:58:36.999048Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70951 paired=1 still_pending=0
2026-05-22T13:58:48.861194Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.9ms elapsed (expected 5.3ms) → inserting 77.6ms silence (7448 samples)
2026-05-22T13:58:49.880261Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 135.1ms elapsed (expected 5.3ms) → inserting 129.8ms silence (12458 samples)
2026-05-22T13:58:50.023417Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 143.2ms elapsed (expected 5.3ms) → inserting 137.8ms silence (13231 samples)
2026-05-22T13:58:50.118529Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 90.0ms elapsed (expected 5.3ms) → inserting 84.6ms silence (8126 samples)
2026-05-22T13:59:06.631961Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=95 elapsed=5.166274917s
2026-05-22T13:59:06.633921Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 95 eligible frames
2026-05-22T13:59:10.312737Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 42 frames, 11.3MB → 1.0MB (11.1x), 42 JPEGs deleted
2026-05-22T13:59:17.575005Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 51 frames, 8.7MB → 3.8MB (2.3x), 51 JPEGs deleted
2026-05-22T14:00:07.737792Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=23 pending_events=0 pending_frames=0 total_pairs=1397 total_evicted=1742 total_failed=0
2026-05-22T14:00:09.135679Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=visual_change)
2026-05-22T14:00:21.558601Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 82.6ms elapsed (expected 5.3ms) → inserting 77.3ms silence (7420 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:00:28.159546Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:00:37.141854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70966 paired=2 still_pending=0
2026-05-22T14:00:53.896448Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70970 paired=1 still_pending=0
2026-05-22T14:00:53.904738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70971 paired=1 still_pending=1
2026-05-22T14:00:57.920660Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70972 paired=1 still_pending=0
2026-05-22T14:01:00.769019Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70973 paired=1 still_pending=0
2026-05-22T14:01:01.358213Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:02.691769Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:01:03.763886Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70974 paired=1 still_pending=0
2026-05-22T14:01:10.914415Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=6 pending_frames=1 total_pairs=1405 total_evicted=1745 total_failed=0
2026-05-22T14:01:10.915437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70975 paired=1 still_pending=0
2026-05-22T14:01:36.066534Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=3 pending_frames=1 total_pairs=1406 total_evicted=1749 total_failed=0
2026-05-22T14:01:36.067615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70976 paired=1 still_pending=0
2026-05-22T14:01:36.416521Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.081093Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=1407 total_evicted=1750 total_failed=0
2026-05-22T14:01:39.082342Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:39.295073Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:39.502217Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.399891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:40.657407Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.711713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:40.818557Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70978 paired=1 still_pending=0
2026-05-22T14:01:41.778930Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:01:44.500670Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=5 total_pairs=1410 total_evicted=1751 total_failed=0
2026-05-22T14:01:44.501372Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70977 paired=1 still_pending=0
2026-05-22T14:01:48.194279Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70979 paired=1 still_pending=0
2026-05-22T14:01:54.499913Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=7 pending_frames=5 total_pairs=1412 total_evicted=1752 total_failed=0
2026-05-22T14:01:54.500363Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70981 paired=1 still_pending=0
2026-05-22T14:01:56.424792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70982 paired=1 still_pending=0
2026-05-22T14:01:58.585572Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70983 paired=1 still_pending=0
2026-05-22T14:01:58.590990Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70984 paired=1 still_pending=0
2026-05-22T14:02:03.051711Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70985 paired=1 still_pending=0
2026-05-22T14:02:03.263726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:03.569425Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:02:04.966152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2217 row_id=72719 frame_id=70985
2026-05-22T14:02:04.973484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70986 paired=1 still_pending=1
2026-05-22T14:02:05.342198Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:02:11.346979Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70987 paired=1 still_pending=0
2026-05-22T14:02:11.734566Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:02:28.342440Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-22T14:02:59.846501Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=3 total_pairs=1420 total_evicted=1763 total_failed=0
2026-05-22T14:02:59.847016Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70988 paired=1 still_pending=0
2026-05-22T14:03:00.715002Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70991 paired=1 still_pending=0
2026-05-22T14:03:03.360204Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70993 paired=1 still_pending=0
2026-05-22T14:03:05.276441Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:05.280948Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=4 total_pairs=1424 total_evicted=1765 total_failed=0
2026-05-22T14:03:05.487010Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:05.699403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=8419801864614017883, trigger=typing_pause)
2026-05-22T14:03:07.792882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:08.102134Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:08.263284Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70994 paired=1 still_pending=0
2026-05-22T14:03:09.280048Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:09.456514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:10.390422Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:12.326864Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2228 row_id=72730 frame_id=70997
2026-05-22T14:03:12.672763Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.242239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=6 total_pairs=1428 total_evicted=1766 total_failed=0
2026-05-22T14:03:14.242581Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:14.516950Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:14.982336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:03:15.254197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:15.641431Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:16.782568Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2231 row_id=72733 frame_id=70996
2026-05-22T14:03:17.044189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5111928977143741995, trigger=typing_pause)
2026-05-22T14:03:17.129796Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=typing_pause)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-22T14:03:25.589833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=70996 paired=1 still_pending=0
2026-05-22T14:04:04.114342Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 105.3ms elapsed (expected 5.3ms) → inserting 99.9ms silence (9594 samples)
2026-05-22T14:04:23.562487Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=24 elapsed=6.035809s
2026-05-22T14:04:23.563187Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 24 eligible frames
2026-05-22T14:04:25.456799Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 3.0MB → 0.5MB (5.5x), 11 JPEGs deleted
2026-05-22T14:04:27.403771Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.0MB → 0.3MB (6.7x), 11 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:04:28.780182Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:04:35.965046Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 86.2ms elapsed (expected 5.3ms) → inserting 80.9ms silence (7765 samples)
2026-05-22T14:05:43.730293Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=0 pending_frames=0 total_pairs=1432 total_evicted=1777 total_failed=0
2026-05-22T14:05:43.731644Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71000 paired=1 still_pending=0
2026-05-22T14:05:44.205677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5111928977143741995, trigger=click)
2026-05-22T14:05:57.318454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71009 paired=1 still_pending=0
2026-05-22T14:06:03.698525Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71012 paired=1 still_pending=0
2026-05-22T14:06:10.270182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71015 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:06:29.114609Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:06:37.334224Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71017 paired=1 still_pending=0
2026-05-22T14:06:40.129665Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 103.2ms elapsed (expected 5.3ms) → inserting 97.9ms silence (9394 samples)
2026-05-22T14:06:40.408940Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 102.4ms elapsed (expected 5.3ms) → inserting 97.0ms silence (9314 samples)
2026-05-22T14:06:46.281326Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=4 total_pairs=1437 total_evicted=1778 total_failed=0
2026-05-22T14:06:46.281655Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=71019 paired=1 still_pending=0
2026-05-22T14:06:51.746565Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 111.4ms elapsed (expected 5.3ms) → inserting 106.1ms silence (10183 samples)
2026-05-22T14:07:12.279271Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.8ms elapsed (expected 5.3ms) → inserting 80.5ms silence (7727 samples)
2026-05-22T14:07:37.769624Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.7ms elapsed (expected 5.3ms) → inserting 83.4ms silence (8007 samples)
2026-05-22T14:07:37.851834Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 91.8ms elapsed (expected 5.3ms) → inserting 86.4ms silence (8299 samples)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:08:29.812318Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:09:20.340397Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.8ms elapsed (expected 5.3ms) → inserting 82.4ms silence (7915 samples)
2026-05-22T14:09:33.786926Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=28 elapsed=6.384550083s
2026-05-22T14:09:33.789817Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 28 eligible frames
2026-05-22T14:09:36.927442Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 4.4MB → 1.1MB (4.0x), 16 JPEGs deleted
2026-05-22T14:09:39.391281Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.8MB → 0.5MB (4.1x), 10 JPEGs deleted
2026-05-22T14:09:52.214144Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 85.3ms elapsed (expected 5.3ms) → inserting 80.0ms silence (7680 samples)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:10:30.304029Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:12:09.350799Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=13 pending_events=0 pending_frames=0 total_pairs=1438 total_evicted=1791 total_failed=0
2026-05-22T14:12:09.582311Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 88.1ms elapsed (expected 5.3ms) → inserting 82.8ms silence (7947 samples)
2026-05-22T14:12:10.464016Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=1 rows_returned=118 elapsed=1.079239583s
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:12:30.635324Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:14:30.880046Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:14:43.042050Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=50 elapsed=3.636397916s
2026-05-22T14:14:43.043157Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 50 eligible frames
2026-05-22T14:14:44.628132Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 6.5MB → 0.8MB (8.0x), 24 JPEGs deleted
2026-05-22T14:14:46.238076Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 24 frames, 4.4MB → 0.9MB (5.0x), 24 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:16:31.230385Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:17:12.165927Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:12.389582Z INFO screenpipe_db::db: created new speaker id=62 (no existing match within threshold)
2026-05-22T14:17:12.826519Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.093008Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-22T14:17:13.858857Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:18:31.637047Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:19:47.130432Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 32 eligible frames
2026-05-22T14:19:48.343269Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 3.5MB → 0.7MB (5.2x), 13 JPEGs deleted
2026-05-22T14:19:50.147760Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 17 frames, 3.4MB → 1.8MB (1.9x), 17 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:20:31.899583Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:22:32.143536Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:10.423361Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-22T14:24:10.795320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=1 pending_frames=0 total_pairs=1438 total_evicted=1796 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-22T14:24:32.462602Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-22T14:24:37.549379Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-22T14:24:54.600747Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=23 elapsed=4.43952425s
2026-05-22T14:24:54.601633Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-22T14:24:55.602008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.7MB → 0.5MB (5.3x), 10 JPEGs deleted
2026-05-22T14:24:56.642375Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.4MB → 0.6MB (3.8x), 11 JPEGs deleted
2026-05-22T14:25:28.391554Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-22T14:25:30.815683Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-22T14:25:30.873825Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state obse...
|
iTerm2
|
screenpipe"
|
NULL
|
71218
|
|
72669
|
whisper_init_state: compute buffer (conv) = 14 whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0
2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0
2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)
2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0
2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)
2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0
2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)
2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0
2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0
2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0
2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0
2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0
2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0
2026-05-26T11:45:02.508329Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=56 elapsed=3.680550959s
2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted
2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted
2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0
2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0
2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0
2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0
2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)
2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0
2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0
2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590
2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1
2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591
2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591
2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1
2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593
2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0
2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598
2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1
2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600
2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602
2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0
2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604
2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0
2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0
2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0
2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0
2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0
2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)
2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618
2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted
2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619
2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0
2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0
2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0
2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639
2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640
2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640
2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639
2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.691743Z IN...
|
iTerm2
|
screenpipe"
|
NULL
|
72669
|
|
72671
|
ggml_metal_free: deallocating
whisper_backend_init ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:44:06.555214Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:44:07.492316Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:08.675903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72551 paired=2 still_pending=0
2026-05-26T11:44:08.685737Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=1 total_pairs=781 total_evicted=458 total_failed=0
2026-05-26T11:44:10.387358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=visual_change)
2026-05-26T11:44:12.742833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72556 paired=1 still_pending=0
2026-05-26T11:44:12.852691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4915152446458762061, trigger=click)
2026-05-26T11:44:14.562901Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72557 paired=1 still_pending=0
2026-05-26T11:44:14.917231Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=3205012590499771722, trigger=click)
2026-05-26T11:44:20.118820Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:44:21.797050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72560 paired=1 still_pending=0
2026-05-26T11:44:35.129034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72562 paired=1 still_pending=0
2026-05-26T11:44:38.343770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72564 paired=1 still_pending=0
2026-05-26T11:44:40.077842Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72566 paired=1 still_pending=0
2026-05-26T11:44:42.230059Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:44:42.449747Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72569 paired=1 still_pending=0
2026-05-26T11:44:43.652767Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72570 paired=1 still_pending=0
2026-05-26T11:45:02.508329Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=56 elapsed=3.680550959s
2026-05-26T11:45:02.508471Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 56 eligible frames
2026-05-26T11:45:04.406705Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 3.9MB → 1.5MB (2.6x), 27 JPEGs deleted
2026-05-26T11:45:05.069774Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:06.180453Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 27 frames, 5.7MB → 1.0MB (5.7x), 27 JPEGs deleted
2026-05-26T11:45:11.162097Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:13.443553Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=4 total_pairs=789 total_evicted=460 total_failed=0
2026-05-26T11:45:14.231786Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:18.443370Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=3 total_pairs=789 total_evicted=461 total_failed=0
2026-05-26T11:45:23.443344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=2 total_pairs=789 total_evicted=462 total_failed=0
2026-05-26T11:45:26.485795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:32.579534Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:35.638524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:41.728975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:43.444588Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=1 total_pairs=789 total_evicted=463 total_failed=0
2026-05-26T11:45:44.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:45:48.445239Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=0 total_pairs=789 total_evicted=466 total_failed=0
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-26T11:46:06.121735Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:46:07.317639Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:46:12.217749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:15.271201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:21.354594Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:46:37.556001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72579 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:48:07.935328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=visual_change)
2026-05-26T11:48:08.196678Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:49:06.065402Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72581 paired=1 still_pending=0
2026-05-26T11:49:06.068805Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=0 total_pairs=791 total_evicted=467 total_failed=0
2026-05-26T11:49:06.124972Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.359006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=845 row_id=73875 frame_id=72590
2026-05-26T11:49:06.372599Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:49:06.392176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72589 paired=1 still_pending=1
2026-05-26T11:49:08.425960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=847 row_id=73877 frame_id=72591
2026-05-26T11:49:08.427230Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=848 row_id=73878 frame_id=72591
2026-05-26T11:49:08.428191Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72592 paired=1 still_pending=1
2026-05-26T11:49:11.733966Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=850 row_id=73880 frame_id=72593
2026-05-26T11:49:13.900409Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72595 paired=1 still_pending=0
2026-05-26T11:49:32.842972Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=853 row_id=73884 frame_id=72598
2026-05-26T11:49:32.844740Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72599 paired=1 still_pending=1
2026-05-26T11:49:33.655978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=855 row_id=73886 frame_id=72600
2026-05-26T11:49:35.947726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=856 row_id=73887 frame_id=72602
2026-05-26T11:49:36.541494Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=visual_change)
2026-05-26T11:49:36.598815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72604 paired=1 still_pending=0
2026-05-26T11:49:36.599681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:36.638687Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:37.262579Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-7352646291973498357, trigger=click)
2026-05-26T11:49:38.317754Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=859 row_id=73890 frame_id=72604
2026-05-26T11:49:38.318645Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72605 paired=1 still_pending=1
2026-05-26T11:49:40.066063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72606 paired=1 still_pending=0
2026-05-26T11:49:46.459106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72609 paired=1 still_pending=0
2026-05-26T11:49:48.674179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72613 paired=1 still_pending=0
2026-05-26T11:49:50.948011Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72616 paired=1 still_pending=0
2026-05-26T11:49:51.125669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.162757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5460096227464630703, trigger=click)
2026-05-26T11:49:52.980646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72618 paired=2 still_pending=0
2026-05-26T11:49:53.014920Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5460096227464630703, trigger=typing_pause)
2026-05-26T11:49:53.866677Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=868 row_id=73900 frame_id=72618
2026-05-26T11:50:06.619028Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 39 eligible frames
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:08.741292Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 21 frames, 3.6MB → 1.4MB (2.5x), 21 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:50:10.426420Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 16 frames, 2.6MB → 0.5MB (5.7x), 16 JPEGs deleted
2026-05-26T11:50:10.524291Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:50:32.529154Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:35.591628Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3549848412632499422, trigger=visual_change)
2026-05-26T11:50:39.150221Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=869 row_id=73901 frame_id=72619
2026-05-26T11:50:39.159156Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=11 pending_events=1 pending_frames=6 total_pairs=814 total_evicted=478 total_failed=0
2026-05-26T11:50:43.433070Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=5 total_pairs=814 total_evicted=480 total_failed=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-26T11:51:10.900189Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:15.956447Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:21.002309Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:51:23.788340Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T11:52:11.341416Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T11:52:13.027743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:19.106403Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:21.942050Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=72631 paired=1 still_pending=0
2026-05-26T11:52:21.944925Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=0 total_pairs=815 total_evicted=485 total_failed=0
2026-05-26T11:52:22.152068Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3205012590499771722, trigger=visual_change)
2026-05-26T11:52:25.082196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=871 row_id=73911 frame_id=72639
2026-05-26T11:52:25.532678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.157181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:26.288113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=872 row_id=73913 frame_id=72640
2026-05-26T11:52:26.336674Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.105937Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:27.214045Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:28.506006Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=873 row_id=73914 frame_id=72640
2026-05-26T11:52:28.508205Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=874 row_id=73915 frame_id=72639
2026-05-26T11:52:34.604402Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.691743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5518268855195389299, trigger=click)
2026-05-26T11:52:34.909111Z INFO screenpipe_engine::event_driven_capture: content dedup: skipp...
|
iTerm2
|
screenpipe"
|
NULL
|
72671
|
|
72707
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
iTerm2
|
screenpipe"
|
NULL
|
72707
|
|
72708
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
iTerm2
|
screenpipe"
|
NULL
|
72708
|
|
72709
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms
2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 0.064 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager
2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
iTerm2
|
screenpipe"
|
NULL
|
72709
|
|
72710
|
Last login: Tue May 26 11:58:03 on ttys007
Poetry Last login: Tue May 26 11:58:03 on ttys007
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
Poetry could not find a pyproject.toml file in /Users/lukas/jiminny/app or its parents
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 11:49 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 11:58 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ cd ..
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ ll
total 40
drwx------ 16 lukas staff 512 3 Nov 2025 .
drwx------+ 96 lukas staff 3072 26 May 11:58 ..
-rw-r--r--@ 1 lukas staff 8196 13 Jan 13:18 .DS_Store
drwx------ 26 lukas staff 832 30 Sep 2024 .idea
drwxr-xr-x 3 lukas staff 96 31 Jan 2024 .vscode
drwx------ 3 lukas staff 96 1 Nov 2021 .yarn
-rw-r--r-- 1 lukas staff 130 1 Nov 2021 .yarnrc
drwx------ 78 lukas staff 2496 26 May 12:02 app
-rw-------@ 1 lukas staff 1678 27 Nov 2024 ecs-qai.pem
drwx------ 25 lukas staff 800 10 Mar 2025 extension-app
drwxr-xr-x 11 lukas staff 352 3 Nov 2025 hubspot-app
drwx------ 21 lukas staff 672 26 May 11:33 infrastructure
drwx------ 6 lukas staff 192 25 Sep 2023 jiminny_services
drwxr-xr-x 37 lukas staff 1184 14 Apr 10:26 prophet
drwxr-xr-x 25 lukas staff 800 2 Sep 2025 vue-components
drwxr-xr-x 2 lukas staff 64 16 Oct 2025 web
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny $ cd infrastructure
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ ll
total 80
drwx------ 21 lukas staff 672 26 May 11:33 .
drwx------ 16 lukas staff 512 3 Nov 2025 ..
-rw-r--r--@ 1 lukas staff 8196 21 Oct 2025 .DS_Store
-rw-r--r-- 1 lukas staff 246 9 Jul 2023 .editorconfig
drwx------ 14 lukas staff 448 26 May 12:05 .git
drwxr-xr-x 4 lukas staff 128 12 Oct 2023 .github
-rw-r--r-- 1 lukas staff 199 9 Jul 2023 .gitignore
drwxr-xr-x 8 lukas staff 256 16 Oct 2025 .idea
-rw-r--r-- 1 lukas staff 21 13 Jan 2023 .prettierrc.toml
-rw-r--r-- 1 lukas staff 1298 13 Jan 2023 Makefile
-rw-r--r-- 1 lukas staff 8689 11 May 2022 README.md
drwx------ 7 lukas staff 224 26 May 11:33 dev
drwx------ 5 lukas staff 160 29 Oct 2021 docs
drwx------ 6 lukas staff 192 29 Oct 2021 images
drwx------ 14 lukas staff 448 26 May 11:33 jiminny
drwx------ 14 lukas staff 448 24 Mar 2025 packer
drwx------ 4 lukas staff 128 29 Oct 2021 qa
drwxr-xr-x 13 lukas staff 416 26 May 11:33 rds-audit-logs-s3
drwxr-xr-x 4 lukas staff 128 6 Apr 09:22 scripts
drwxr-xr-x 8 lukas staff 256 18 Jan 2025 tf
drwx------ 6 lukas staff 192 12 Oct 2023 tools
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ git pull
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure (develop) $ app
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ make docker-update
aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
vendor_old/
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ ;xd
docker exec -it docker_lamp_1 bash -c "mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini"
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ gbr
JY-20891-fix-alias-mismatch-on-sms-text-relay
* master
JY-20963-fix-import-on-deleted-entity
JY-20915-add-domain-specific-email-text-relay
JY-20676-delete-report-related-objects
JY-20613-allow-owner-role-on-team-setup
JY-20725-handle-HS-search-rate-limit
pipedrive-sdk-poc
JY-20903-update_activity-stage-on-opportunity-change
JY-20904-fix-update-es-on-activity-command
JY-20891-improve-sms-text-relays
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co JY-20891-fix-alias-mismatch-on-sms-text-relay
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'JY-20891-fix-alias-mismatch-on-sms-text-relay'
Your branch is up to date with 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git merge master
Merge made by the 'ort' strategy.
contrib/swagger_v2.yml | 58 ++++++++++++++++++++++++++++++++++++----------------------
front-end/src/components/shared/AskAnything/EventSource.js | 12 ++++++++----
front-end/src/components/shared/AskAnything/__mocks__/mocks.js | 7 +++++--
front-end/src/components/shared/AskAnything/__mocks__/requestHandlers.js | 2 +-
front-end/src/components/shared/AskAnything/usePrompt.js | 13 +++++--------
routes/api_v2.php | 6 +++---
tests/Feature/Http/Controllers/ActivityAskAnythingTest.php | 9 +++------
7 files changed, 61 insertions(+), 46 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ git status
Refresh index: 100% (9182/9182), done.
On branch JY-20891-fix-alias-mismatch-on-sms-text-relay
Your branch is ahead of 'origin/JY-20891-fix-alias-mismatch-on-sms-text-relay' by 7 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: Makefile
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: artisan
modified: bootstrap/autoload.php
modified: config/logging.php
modified: tests/Unit/Services/Mail/TextRelayServiceTest.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20891-fix-alias-mismatch-on-sms-text-relay) $ co master
M .env.local
M Makefile
M app/Console/Commands/JiminnyDebugCommand.php
M artisan
M bootstrap/autoload.php
M config/logging.php
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ alias sp-start
sp-start='npx screenpipe@latest record --disable-audio --ignored-windows "Boosteroid"'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49844/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_11_195Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ cd ~/.screenpipe
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'node:child_process'
Require stack:
- /Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js:6:23)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/lukas/.npm/_npx/49967/lib/node_modules/screenpipe/scripts/postinstall.js'
]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! screenpipe@0.3.346 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the screenpipe@0.3.346 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/lukas/.npm/_logs/2026-05-26T11_16_30_795Z-debug.log
Install for [ 'screenpipe@latest' ] failed with code 1
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ nvm use 20
Now using node v20.20.2 (npm v10.8.2)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ npx screenpipe@latest record
Need to install the following packages:
screenpipe@0.3.347
Ok to proceed? (y) yes
checking permissions...
screen recording: ok
microphone: ok
accessibility: ok
2026-05-26T20:34:46.144149Z INFO screenpipe_screen::monitor::macos_version: Detected macOS version: 14.6
2026-05-26T20:34:46.946621Z INFO screenpipe_engine::sleep_monitor: Starting macOS sleep/wake monitor
2026-05-26T20:34:47.000735Z INFO screenpipe_engine::sleep_monitor: Screen lock/unlock observers registered (CFNotificationCenter)
2026-05-26T20:34:47.001638Z INFO screenpipe_engine::sleep_monitor: Display reconfiguration watcher registered (CGDisplayRegisterReconfigurationCallback)
2026-05-26T20:34:47.029181Z INFO screenpipe_engine::permission_monitor: permission monitor started screen=true mic=true accessibility=true keychain=true
2026-05-26T20:34:47.029277Z INFO screenpipe: meeting detector enabled — independent of transcription mode
2026-05-26T20:34:47.459894Z INFO screenpipe_engine::power::manager: power manager started (poll interval: 10s)
2026-05-26T20:34:47.460327Z INFO screenpipe: API server listening on [IP_ADDRESS]:3030 (localhost only)
2026-05-26T20:34:47.460348Z INFO screenpipe: API auth enabled — run `screenpipe auth token` to view your key
tip: get the desktop app for chat, timeline, and search UI
→ https://screenpi.pe/onboarding
2026-05-26T20:34:47.461130Z INFO screenpipe_engine::vision_manager::manager: Starting VisionManager
2026-05-26T20:34:47.460236Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction worker started (min_age=600s, poll=300s)
2026-05-26T20:34:47.471073Z INFO screenpipe_core::pipes: loaded pipe: day-recap
2026-05-26T20:34:47.472149Z INFO screenpipe_core::pipes: loaded pipe: standup-update
2026-05-26T20:34:47.472643Z INFO screenpipe_core::pipes: loaded pipe: ai-habits
2026-05-26T20:34:47.472742Z INFO screenpipe_core::pipes: loaded pipe: time-breakdown
2026-05-26T20:34:47.472821Z INFO screenpipe_core::pipes: loaded pipe: video-export
2026-05-26T20:34:47.473472Z INFO screenpipe_core::pipes: loaded pipe: meeting-summary
2026-05-26T20:34:47.473492Z INFO screenpipe_core::pipes: loaded 6 pipes from "/Users/lukas/.screenpipe/pipes"
_
__________________ ___ ____ ____ (_____ ___
/ ___/ ___/ ___/ _ \/ _ \/ __ \ / __ \/ / __ \/ _ \
(__ / /__/ / / __/ __/ / / / / /_/ / / /_/ / __/
/____/\___/_/ \___/\___/_/ /_/ / .___/_/ .___/\___/
/_/ /_/
power AI by everything you've seen, said or heard
open source | runs locally | developer friendly
┌────────────────────────┬────────────────────────────────────┐
│ setting │ value │
├────────────────────────┼────────────────────────────────────┤
│ audio chunk duration │ 30 seconds │
│ port │ 3030 │
│ audio disabled │ false │
│ vision disabled │ false │
│ pause on DRM content │ false │
│ audio engine │ "WhisperTiny" │
│ vad engine │ Silero │
│ data directory │ /Users/lukas/.screenpipe │
│ debug mode │ false │
│ telemetry │ true │
│ use pii removal │ true │
│ use all monitors │ true │
2026-05-26T20:34:47.477433Z INFO screenpipe_core::pipes: pipe scheduler started (generation 2)
│ ignored windows │ [] │
│ included windows │ [] │
│ cloud sync │ disabled │
│ auto-destruct pid │ 0 │
│ deepgram key │ not set │
│ api auth │ enabled │
│ encrypt secrets │ disabled │
│ retention days │ 14 │
│ retention mode │ media-only (keep transcripts) │
├────────────────────────┼────────────────────────────────────┤
│ languages │ │
│ │ all languages │
├────────────────────────┼────────────────────────────────────┤
│ monitors │ │
│ │ id: 1 │
│ │ id: 2 │
├────────────────────────┼────────────────────────────────────┤
│ audio devices │ │
│ │ MacBook Pro Microphone (input) │
│ │ System Audio (output) │
└────────────────────────┴────────────────────────────────────┘
you are using local processing. all your data stays on your computer.
warning: telemetry is enabled. only error-level data will be sent.
to disable, use the --disable-telemetry flag.
check latest changes here: https://github.com/screenpipe/screenpipe/releases
2026-05-26T20:34:47.480322Z INFO screenpipe: starting UI event capture
2026-05-26T20:34:47.485265Z WARN screenpipe: pi agent install failed: bun not found — install from https://bun.sh
2026-05-26T20:34:47.493297Z INFO screenpipe_engine::power::manager: initial power profile: Performance (on_ac=true, battery=Some(100), os_low_power=false, thermal=Nominal, reason=ac_power)
2026-05-26T20:34:47.516307Z INFO screenpipe_engine::ui_recorder: Starting UI event capture
2026-05-26T20:34:47.517166Z INFO screenpipe: text-PII worker skipped at startup — async_pii_redaction=false. OPF model (~2.8 GB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517190Z INFO screenpipe: image-PII worker skipped at startup — async_image_pii_redaction=false. rfdetr_v9 model (~108 MB) will NOT be downloaded or loaded. Toggle via Settings → Privacy → AI PII removal.
2026-05-26T20:34:47.517503Z INFO screenpipe_engine::ui_recorder: UI recording session started: e77d1c43-6f9b-4fee-83e7-1833090386ff
2026-05-26T20:34:47.518157Z INFO screenpipe_engine::calendar_speaker_id: speaker identification: started (user_name=<not set>)
2026-05-26T20:34:47.518280Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warming from DB (2026-05-25 17:34:47.518278 UTC to 2026-05-26 17:34:47.518278 UTC)
2026-05-26T20:34:47.535082Z INFO screenpipe_engine::meeting_detector: meeting v2: detection loop started (base_interval=5s, profiles=12)
2026-05-26T20:34:47.541126Z INFO screenpipe_engine::server: Server listening on [IP_ADDRESS]:3030
2026-05-26T20:34:47.556219Z INFO screenpipe_connect::mdns: mdns: advertising screenpipe on port 3030
2026-05-26T20:34:48.505441Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 1 (1440x900)
2026-05-26T20:34:48.505528Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.505569Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 1 (device: monitor_1)
2026-05-26T20:34:48.658438Z WARN sqlx::query: summary="SELECT f.id, f.timestamp, f.offset_index, …" db.statement="\n\nSELECT\n f.id,\n f.timestamp,\n f.offset_index,\n COALESCE(\n SUBSTR(f.full_text, 1, 200),\n SUBSTR(f.accessibility_text, 1, 200),\n (\n SELECT\n SUBSTR(ot.text, 1, 200)\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as text,\n COALESCE(\n f.app_name,\n (\n SELECT\n ot.app_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as app_name,\n COALESCE(\n f.window_name,\n (\n SELECT\n ot.window_name\n FROM\n ocr_text ot\n WHERE\n ot.frame_id = f.id\n LIMIT\n 1\n )\n ) as window_name,\n COALESCE(vc.device_name, f.device_name) as screen_device,\n COALESCE(vc.file_path, f.snapshot_path) as video_path,\n COALESCE(vc.fps, 0.033) as chunk_fps,\n f.browser_url,\n f.machine_id\nFROM\n frames f\n LEFT JOIN video_chunks vc ON f.video_chunk_id = vc.id\nWHERE\n f.timestamp >= ?1\n AND f.timestamp <= ?2\n AND COALESCE(vc.file_path, f.snapshot_path, '') NOT LIKE 'cloud://%'\nORDER BY\n f.timestamp DESC,\n f.offset_index DESC\nLIMIT\n 10000\n" rows_affected=0 rows_returned=1511 elapsed=1.137431917s
2026-05-26T20:34:48.667488Z INFO screenpipe_engine::hot_frame_cache: hot_frame_cache: warmed with 1511 frame entries, coverage from 2026-05-25 17:34:47.518278 UTC
2026-05-26T20:34:48.941241Z INFO screenpipe_engine::vision_manager::manager: Starting vision recording for monitor 2 (3008x1253)
2026-05-26T20:34:48.941306Z INFO screenpipe_engine::vision_manager::manager: Starting event-driven capture for monitor 2 (device: monitor_2)
2026-05-26T20:34:48.941331Z INFO screenpipe_engine::vision_manager::manager: VisionManager started with 2/2 monitor(s)
2026-05-26T20:34:48.941348Z INFO screenpipe_engine::vision_manager::monitor_watcher: Starting monitor watcher (event-driven via CGDisplayRegisterReconfigurationCallback, 60s backstop poll)
2026-05-26T20:34:48.941397Z INFO screenpipe_engine::event_driven_capture: event-driven capture started for monitor 2 (device: monitor_2)
2026-05-26T20:34:49.622365Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-26T20:34:49.885249Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:50.005494Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 2: frame_id=72707, dur=68ms
2026-05-26T20:34:50.012484Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-26T20:34:50.201960Z INFO screenpipe_engine::event_driven_capture: startup capture for monitor 1: frame_id=72708, dur=60ms
2026-05-26T20:34:57.486263Z INFO screenpipe_audio::transcription::engine: transcription engine runtime: Whisper variant=WhisperTiny
2026-05-26T20:34:57.490538Z INFO screenpipe_audio::transcription::engine: whisper model available: "/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin"
2026-05-26T20:34:57.490670Z INFO screenpipe_audio::transcription::whisper::model: whisper context: gpu acceleration enabled (Metal on macOS, Vulkan on Windows)
2026-05-26T20:34:57.490684Z INFO screenpipe_audio::transcription::engine: loading whisper model with GPU acceleration...
whisper_init_from_file_with_params_no_state: loading model from '/Users/lukas/.cache/huggingface/hub/models--ggerganov--whisper.cpp/snapshots/5359861c739e955e79d9a303bcbc70fb988958b1/ggml-tiny.bin'
whisper_init_with_params_no_state: use gpu = 1
whisper_init_with_params_no_state: flash attn = 0
whisper_init_with_params_no_state: gpu_device = 0
whisper_init_with_params_no_state: dtw = 0
ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
ggml_metal_library_init: using embedded metal library
ggml_metal_library_init: loaded in 0.064 sec
ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
ggml_metal_device_init: GPU name: Apple M1
ggml_metal_device_init: GPU family: MTLGPUFamilyApple7 (1007)
ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3 (5001)
ggml_metal_device_init: simdgroup reduction = true
ggml_metal_device_init: simdgroup matrix mul. = true
ggml_metal_device_init: has unified memory = true
ggml_metal_device_init: has bfloat = true
ggml_metal_device_init: has tensor = false
ggml_metal_device_init: use residency sets = true
ggml_metal_device_init: use shared buffers = true
ggml_metal_device_init: recommendedMaxWorkingSetSize = 11453.25 MB
whisper_init_with_params_no_state: devices = 3
whisper_init_with_params_no_state: backends = 3
whisper_model_load: loading model
whisper_model_load: n_vocab = 51865
whisper_model_load: n_audio_ctx = 1500
whisper_model_load: n_audio_state = 384
whisper_model_load: n_audio_head = 6
whisper_model_load: n_audio_layer = 4
whisper_model_load: n_text_ctx = 448
whisper_model_load: n_text_state = 384
whisper_model_load: n_text_head = 6
whisper_model_load: n_text_layer = 4
whisper_model_load: n_mels = 80
whisper_model_load: ftype = 1
whisper_model_load: qntvr = 0
whisper_model_load: type = 1 (tiny)
whisper_model_load: adding 1608 extra tokens
whisper_model_load: n_langs = 99
whisper_model_load: Metal total size = 77.11 MB
whisper_model_load: model size = 77.11 MB
2026-05-26T20:34:57.693722Z INFO screenpipe_audio::transcription::engine: whisper model loaded successfully
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-26T20:34:57.698597Z INFO screenpipe_audio::audio_manager::manager: transcription session created (will be reused across segments)
2026-05-26T20:34:57.698798Z INFO screenpipe_audio::meeting_streaming::controller: meeting streaming: coordinator listening (provider=selected-engine)
2026-05-26T20:34:57.700088Z INFO screenpipe_audio::audio_manager::manager: seeded 67 speakers (named + unnamed) from DB into embedding manager
2026-05-26T20:34:57.701536Z INFO screenpipe_audio::audio_manager::manager: audio manager started
2026-05-26T20:34:57.701576Z INFO screenpipe_audio::audio_manager::manager: calendar-assisted speaker diarization: listening for meeting events
2026-05-26T20:34:58.863416Z INFO screenpipe_audio::device::device_manager: starting recording for device: System Audio (output)
2026-05-26T20:34:58.864807Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-26T20:34:59.014727Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-26T20:34:59.014823Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-26T20:34:59.014834Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for System Audio (output) (unknown / 30s segments)
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
screenpipe"
Close Tab
⌥⌘1
screenpipe"...
|
iTerm2
|
screenpipe"
|
NULL
|
72710
|
|
73581
|
2026-05-26T20:57:01.555286Z INFO screenpipe_engin 2026-05-26T20:57:01.555286Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6009467168980122687, trigger=click)
2026-05-26T20:57:03.525606Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73315 paired=1 still_pending=0
2026-05-26T20:57:03.796228Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1153177889285745700, trigger=click)
2026-05-26T20:57:05.020658Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73317 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3....
|
iTerm2
|
screenpipe"
|
NULL
|
73581
|
|
73582
|
whisper_init_state: kv pad size = 2.36 MB
whi whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapsho...
|
iTerm2
|
screenpipe"
|
NULL
|
73582
|
|
73583
|
whisper_init_state: compute buffer (encode) = 65 whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:57:06.482966Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:57:06.510108Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:06.675632Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:06.766183Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:09.450394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:09.631125Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:09.709630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.307540Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73318 paired=1 still_pending=0
2026-05-26T20:57:10.464664Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.757065Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:10.995454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=341 row_id=74424 frame_id=73318
2026-05-26T20:57:11.137675Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:11.885248Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:57:13.242335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=342 row_id=74425 frame_id=73319
2026-05-26T20:57:13.385120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:13.491028Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:57:14.490650Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73319 paired=1 still_pending=0
2026-05-26T20:57:18.592141Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=19 total_pairs=337 total_evicted=258 total_failed=0
2026-05-26T20:57:18.592298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:18.754901Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:18.830661Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:21.877945Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:22.048120Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:22.116039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:24.810794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:24.968976Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:25.049467Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.493586Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:29.647475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:29.737346Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:32.776771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:32.933211Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:33.009496Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.510207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:36.636669Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:36.749040Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:39.944213Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=22 total_pairs=343 total_evicted=261 total_failed=0
2026-05-26T20:57:39.944379Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73321 paired=1 still_pending=0
2026-05-26T20:57:40.108358Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:40.183711Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:45.427437Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73320 paired=1 still_pending=0
2026-05-26T20:57:50.944981Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:50.951811Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=22 total_pairs=346 total_evicted=263 total_failed=0
2026-05-26T20:57:51.107181Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.145114Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=21 total_pairs=346 total_evicted=265 total_failed=0
2026-05-26T20:57:55.145256Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:55.299321Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:55.380970Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:58.978167Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=347 total_evicted=267 total_failed=0
2026-05-26T20:57:58.978269Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:57:59.119328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:57:59.219465Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:00.811564Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:05.196203Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:05.196853Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=18 total_pairs=349 total_evicted=271 total_failed=0
2026-05-26T20:58:05.348269Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:05.464986Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:07.300460Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:07.456156Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:07.560813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.565652Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=14 total_pairs=350 total_evicted=276 total_failed=0
2026-05-26T20:58:13.566813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:13.730197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:13.808563Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.657567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:14.850266Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:14.934691Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=typing_pause)
2026-05-26T20:58:16.395370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73322 paired=1 still_pending=0
2026-05-26T20:58:16.547089Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:21.764007Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=15 total_pairs=353 total_evicted=278 total_failed=0
2026-05-26T20:58:21.764159Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73324 paired=1 still_pending=0
2026-05-26T20:58:22.025572Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:23.157872Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=15 total_pairs=354 total_evicted=279 total_failed=0
2026-05-26T20:58:23.158034Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73326 paired=1 still_pending=0
2026-05-26T20:58:24.054463Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:24.197345Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:24.495730Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:25.946911Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=363 row_id=74446 frame_id=73327
2026-05-26T20:58:26.099197Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:26.196847Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
2026-05-26T20:58:27.112178Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73327 paired=1 still_pending=0
2026-05-26T20:58:27.268498Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.346395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:27.732828Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73328 paired=1 still_pending=0
2026-05-26T20:58:27.736179Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=18 total_pairs=359 total_evicted=280 total_failed=0
2026-05-26T20:58:27.871903Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=typing_pause)
2026-05-26T20:58:28.528695Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=366 row_id=74449 frame_id=73328
2026-05-26T20:58:30.094037Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:58:33.030009Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73331 paired=1 still_pending=0
2026-05-26T20:58:33.032199Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=18 total_pairs=361 total_evicted=282 total_failed=0
2026-05-26T20:58:33.140630Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=click)
2026-05-26T20:58:34.534745Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1435202468267247498, trigger=visual_change)
2026-05-26T20:58:41.146819Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=368 row_id=74451 frame_id=73331
2026-05-26T20:58:41.149210Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=17 total_pairs=362 total_evicted=284 total_failed=0
2026-05-26T20:58:42.314171Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73334 paired=1 still_pending=0
2026-05-26T20:58:45.691991Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=17 total_pairs=363 total_evicted=285 total_failed=0
2026-05-26T20:58:45.692114Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73336 paired=1 still_pending=0
2026-05-26T20:58:48.161231Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73338 paired=1 still_pending=0
2026-05-26T20:58:48.883060Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73340 paired=1 still_pending=0
2026-05-26T20:58:50.432265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=373 row_id=74456 frame_id=73342
2026-05-26T20:58:50.569018Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:50.700666Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:52.378322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73343 paired=1 still_pending=0
2026-05-26T20:58:52.451857Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=21 total_pairs=368 total_evicted=286 total_failed=0
2026-05-26T20:58:53.707852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73345 paired=1 still_pending=0
2026-05-26T20:58:55.883582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:56.137549Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-5781745509849401926, trigger=click)
2026-05-26T20:58:57.531116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73348 paired=1 still_pending=0
2026-05-26T20:58:57.538791Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=22 total_pairs=371 total_evicted=287 total_failed=0
2026-05-26T20:58:58.398500Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73351 paired=1 still_pending=0
2026-05-26T20:59:01.312473Z INFO screenpipe_db::db: created new speaker id=69 (no existing match within threshold)
2026-05-26T20:59:01.762272Z INFO screenpipe_db::db: created new speaker id=70 (no existing match within threshold)
2026-05-26T20:59:04.480758Z INFO screenpipe_db::db: created new speaker id=71 (no existing match within threshold)
2026-05-26T20:59:05.815472Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=372 total_evicted=289 total_failed=0
2026-05-26T20:59:05.815560Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=379 row_id=74462 frame_id=73353
2026-05-26T20:59:06.010204Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=5122358063201960505, trigger=click)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01...
|
iTerm2
|
screenpipe"
|
NULL
|
73583
|
|
73584
|
ggml_metal_init: use concurrency = true
ggml_me ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0
2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0
2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444
2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0
2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0
2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0
2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452
2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0
2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456
2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0
2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0
2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0
2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0
2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0
2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466
2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0
2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470
2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0
2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0
2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0
2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0
2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0
2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0
2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480
2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481
2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480
2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0
2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0
2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0
2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0
2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0
2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0
2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0
2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0
2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0
2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497
2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0
2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499
2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1
2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0
2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0
2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0
2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0
2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0
2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0
2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0
2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0
2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0
2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0
2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518
2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0
2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0
2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0
2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0
2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks
2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0
2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0
2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0
2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0
2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0
2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0
2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0
2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536
2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0
2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538
2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0
2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541
2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0
2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544
2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546
2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0
2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0
2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0
2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0
2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0
2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0
2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0
2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)
2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0
2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0
2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0
2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0
2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)
2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0
2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564
2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0
2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0
2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)
2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0
2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_in...
|
iTerm2
|
screenpipe"
|
NULL
|
73584
|
|
73585
|
whisper_backend_init: using BLAS backend
whisper_i whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T20:59:07.337224Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T20:59:14.981756Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=20 total_pairs=373 total_evicted=292 total_failed=0
2026-05-26T20:59:14.981912Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73353 paired=1 still_pending=0
2026-05-26T20:59:16.766003Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73356 paired=1 still_pending=0
2026-05-26T20:59:22.650034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=20 total_pairs=375 total_evicted=294 total_failed=0
2026-05-26T20:59:22.650198Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73358 paired=1 still_pending=0
2026-05-26T20:59:26.082427Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73361 paired=1 still_pending=0
2026-05-26T20:59:27.115485Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73363 paired=1 still_pending=0
2026-05-26T20:59:40.201735Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=6 pending_events=0 pending_frames=17 total_pairs=378 total_evicted=300 total_failed=0
2026-05-26T20:59:40.201889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73365 paired=1 still_pending=0
2026-05-26T20:59:45.575201Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-26T20:59:47.650040Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=15 total_pairs=379 total_evicted=303 total_failed=0
2026-05-26T20:59:47.650137Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73367 paired=1 still_pending=0
2026-05-26T20:59:47.986567Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:48.400541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73370 paired=1 still_pending=0
2026-05-26T20:59:48.616476Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7417282354371857971, trigger=click)
2026-05-26T20:59:49.483356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=388 row_id=74471 frame_id=73369
2026-05-26T20:59:49.664185Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3889131366680724303, trigger=click)
2026-05-26T20:59:50.433597Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=389 row_id=74472 frame_id=73371
2026-05-26T20:59:50.623247Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7810487812990730305, trigger=click)
2026-05-26T20:59:51.799932Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=390 row_id=74473 frame_id=73372
2026-05-26T20:59:54.700630Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=15 total_pairs=384 total_evicted=308 total_failed=0
2026-05-26T20:59:54.700889Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73374 paired=1 still_pending=0
2026-05-26T20:59:56.767087Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73376 paired=1 still_pending=0
2026-05-26T20:59:59.918610Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T20:59:59.968489Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=14 total_pairs=386 total_evicted=311 total_failed=0
2026-05-26T20:59:59.968805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73378 paired=1 still_pending=0
2026-05-26T21:00:00.217188Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6207244058882792334, trigger=click)
2026-05-26T21:00:00.750206Z INFO screenpipe_db::db: created new speaker id=72 (no existing match within threshold)
2026-05-26T21:00:01.641664Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:01.834900Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:00:03.701348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73380 paired=1 still_pending=0
2026-05-26T21:00:04.952498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73383 paired=1 still_pending=0
2026-05-26T21:00:08.486042Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=16 total_pairs=389 total_evicted=312 total_failed=0
2026-05-26T21:00:08.486163Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73385 paired=1 still_pending=0
2026-05-26T21:00:12.421349Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73387 paired=1 still_pending=0
2026-05-26T21:00:13.538558Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73389 paired=1 still_pending=0
2026-05-26T21:00:15.231519Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-4295895624340692523, trigger=visual_change)
2026-05-26T21:00:17.451223Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=17 total_pairs=392 total_evicted=314 total_failed=0
2026-05-26T21:00:23.422951Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=16 total_pairs=392 total_evicted=315 total_failed=0
2026-05-26T21:00:23.423035Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73391 paired=1 still_pending=0
2026-05-26T21:00:28.116884Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73392 paired=1 still_pending=0
2026-05-26T21:00:28.119653Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=2 pending_frames=14 total_pairs=394 total_evicted=317 total_failed=0
2026-05-26T21:00:28.958431Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73394 paired=1 still_pending=2
2026-05-26T21:00:30.036434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73395 paired=1 still_pending=0
2026-05-26T21:00:31.344265Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73396 paired=1 still_pending=0
2026-05-26T21:00:36.468604Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73398 paired=1 still_pending=0
2026-05-26T21:00:39.746154Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73399 paired=1 still_pending=0
2026-05-26T21:00:42.571373Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=15 total_pairs=399 total_evicted=318 total_failed=0
2026-05-26T21:00:42.571530Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73401 paired=1 still_pending=0
2026-05-26T21:00:44.303478Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73402 paired=1 still_pending=0
2026-05-26T21:00:45.528376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=visual_change)
2026-05-26T21:00:53.037023Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=2 pending_frames=10 total_pairs=401 total_evicted=323 total_failed=0
2026-05-26T21:00:53.037172Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:00:53.178075Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=2184797381960226901, trigger=click)
2026-05-26T21:00:54.952180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73403 paired=1 still_pending=0
2026-05-26T21:01:00.716514Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73404 paired=1 still_pending=0
2026-05-26T21:01:00.719216Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=7 total_pairs=404 total_evicted=326 total_failed=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:01:08.227871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-26T21:01:09.336739Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=2 pending_frames=5 total_pairs=404 total_evicted=329 total_failed=0
2026-05-26T21:01:09.336985Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73407 paired=1 still_pending=0
2026-05-26T21:01:14.606331Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73411 paired=1 still_pending=0
2026-05-26T21:01:14.623159Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=5 total_pairs=406 total_evicted=333 total_failed=0
2026-05-26T21:01:14.986513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73413 paired=1 still_pending=0
2026-05-26T21:01:17.728986Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73415 paired=1 still_pending=0
2026-05-26T21:01:20.355410Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=418 row_id=74509 frame_id=73416
2026-05-26T21:01:22.316429Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73418 paired=2 still_pending=0
2026-05-26T21:01:23.517803Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73420 paired=1 still_pending=0
2026-05-26T21:01:24.016286Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73422 paired=1 still_pending=0
2026-05-26T21:01:24.023268Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 167 eligible frames
2026-05-26T21:01:25.619513Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=423 row_id=74514 frame_id=73424
2026-05-26T21:01:26.390918Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73426 paired=1 still_pending=0
2026-05-26T21:01:27.716511Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=425 row_id=74516 frame_id=73428
2026-05-26T21:01:29.469285Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73430 paired=1 still_pending=0
2026-05-26T21:01:30.270258Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 73 frames, 23.8MB → 17.3MB (1.4x), 73 JPEGs deleted
2026-05-26T21:01:30.449325Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73432 paired=1 still_pending=0
2026-05-26T21:01:31.407707Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73434 paired=1 still_pending=0
2026-05-26T21:01:32.253489Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=429 row_id=74520 frame_id=73436
2026-05-26T21:01:32.449560Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=1 pending_frames=15 total_pairs=420 total_evicted=335 total_failed=0
2026-05-26T21:01:32.505651Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2312771097641959850, trigger=typing_pause)
2026-05-26T21:01:32.950063Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=430 row_id=74521 frame_id=73436
2026-05-26T21:01:35.033577Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73439 paired=1 still_pending=0
2026-05-26T21:01:35.709306Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 92 frames, 11.9MB → 3.1MB (3.8x), 92 JPEGs deleted
2026-05-26T21:01:39.098787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73440 paired=1 still_pending=0
2026-05-26T21:01:39.816943Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73442 paired=1 still_pending=0
2026-05-26T21:01:41.385329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=434 row_id=74525 frame_id=73444
2026-05-26T21:01:42.354871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73446 paired=1 still_pending=0
2026-05-26T21:01:45.574125Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73448 paired=1 still_pending=0
2026-05-26T21:01:46.034928Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73450 paired=1 still_pending=0
2026-05-26T21:01:46.817376Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=438 row_id=74529 frame_id=73452
2026-05-26T21:01:48.501614Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73454 paired=2 still_pending=0
2026-05-26T21:01:48.978787Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=441 row_id=74532 frame_id=73456
2026-05-26T21:01:50.300896Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73458 paired=1 still_pending=0
2026-05-26T21:01:53.267672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73459 paired=1 still_pending=0
2026-05-26T21:01:54.767924Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73460 paired=1 still_pending=0
2026-05-26T21:01:56.067956Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73462 paired=1 still_pending=0
2026-05-26T21:01:56.889728Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73464 paired=1 still_pending=0
2026-05-26T21:01:58.623225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=447 row_id=74538 frame_id=73466
2026-05-26T21:01:59.218115Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73468 paired=1 still_pending=0
2026-05-26T21:02:00.851021Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=449 row_id=74540 frame_id=73470
2026-05-26T21:02:01.998305Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73472 paired=1 still_pending=0
2026-05-26T21:02:04.347288Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=31 total_pairs=441 total_evicted=336 total_failed=0
2026-05-26T21:02:04.347471Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73474 paired=1 still_pending=0
2026-05-26T21:02:06.105871Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73476 paired=1 still_pending=0
2026-05-26T21:02:12.109467Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=2 pending_frames=32 total_pairs=443 total_evicted=337 total_failed=0
2026-05-26T21:02:12.109773Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73478 paired=1 still_pending=0
2026-05-26T21:02:14.341353Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=454 row_id=74546 frame_id=73480
2026-05-26T21:02:17.040017Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=455 row_id=74548 frame_id=73481
2026-05-26T21:02:17.044798Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=456 row_id=74550 frame_id=73480
2026-05-26T21:02:26.323751Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=8 pending_events=0 pending_frames=28 total_pairs=447 total_evicted=345 total_failed=0
2026-05-26T21:02:26.323968Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73483 paired=1 still_pending=0
2026-05-26T21:02:29.672094Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:02:35.040585Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=7 pending_events=1 pending_frames=22 total_pairs=448 total_evicted=352 total_failed=0
2026-05-26T21:02:35.040671Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73487 paired=1 still_pending=0
2026-05-26T21:02:36.829794Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73489 paired=2 still_pending=0
2026-05-26T21:02:39.266195Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=23 total_pairs=451 total_evicted=353 total_failed=0
2026-05-26T21:02:39.266348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73492 paired=1 still_pending=0
2026-05-26T21:02:40.641223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73493 paired=1 still_pending=0
2026-05-26T21:02:41.341466Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73495 paired=1 still_pending=0
2026-05-26T21:02:42.388106Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=464 row_id=74558 frame_id=73497
2026-05-26T21:02:42.449887Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=0 pending_frames=23 total_pairs=455 total_evicted=356 total_failed=0
2026-05-26T21:02:43.857876Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=465 row_id=74559 frame_id=73499
2026-05-26T21:02:43.859454Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73500 paired=1 still_pending=1
2026-05-26T21:02:47.265914Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73502 paired=1 still_pending=0
2026-05-26T21:02:48.361779Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=23 total_pairs=458 total_evicted=359 total_failed=0
2026-05-26T21:02:48.361882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73504 paired=1 still_pending=0
2026-05-26T21:02:49.288504Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73506 paired=1 still_pending=0
2026-05-26T21:02:51.020096Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73508 paired=1 still_pending=0
2026-05-26T21:02:52.288712Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73510 paired=1 still_pending=0
2026-05-26T21:02:52.778480Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=462 total_evicted=361 total_failed=0
2026-05-26T21:02:52.778535Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73512 paired=1 still_pending=0
2026-05-26T21:02:54.840774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73514 paired=2 still_pending=0
2026-05-26T21:02:55.666536Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73516 paired=1 still_pending=0
2026-05-26T21:02:56.821152Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=476 row_id=74570 frame_id=73518
2026-05-26T21:03:00.216356Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73520 paired=1 still_pending=0
2026-05-26T21:03:00.217676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=5 pending_events=0 pending_frames=25 total_pairs=468 total_evicted=366 total_failed=0
2026-05-26T21:03:03.895290Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=468 total_evicted=368 total_failed=0
2026-05-26T21:03:03.895422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73522 paired=1 still_pending=0
2026-05-26T21:03:07.106232Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73524 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-26T21:03:08.960210Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 6 orphaned chunks
2026-05-26T21:03:08.961568Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=23 total_pairs=470 total_evicted=370 total_failed=0
2026-05-26T21:03:08.961611Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73526 paired=1 still_pending=0
2026-05-26T21:03:10.793001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73528 paired=1 still_pending=0
2026-05-26T21:03:12.906147Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=1 pending_frames=24 total_pairs=472 total_evicted=371 total_failed=0
2026-05-26T21:03:12.906273Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73530 paired=1 still_pending=0
2026-05-26T21:03:15.230969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73532 paired=1 still_pending=0
2026-05-26T21:03:16.055774Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73534 paired=1 still_pending=0
2026-05-26T21:03:18.146639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=485 row_id=74579 frame_id=73536
2026-05-26T21:03:18.152425Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=25 total_pairs=476 total_evicted=373 total_failed=0
2026-05-26T21:03:20.509544Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=486 row_id=74581 frame_id=73538
2026-05-26T21:03:22.786519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73540 paired=1 still_pending=0
2026-05-26T21:03:24.377722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=488 row_id=74584 frame_id=73541
2026-05-26T21:03:27.448734Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=28 total_pairs=479 total_evicted=374 total_failed=0
2026-05-26T21:03:32.066738Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=489 row_id=74588 frame_id=73544
2026-05-26T21:03:33.180323Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=490 row_id=74590 frame_id=73546
2026-05-26T21:03:36.061033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73546 paired=1 still_pending=0
2026-05-26T21:03:41.904100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73547 paired=1 still_pending=0
2026-05-26T21:03:41.905403Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=4 pending_events=0 pending_frames=26 total_pairs=483 total_evicted=378 total_failed=0
2026-05-26T21:04:00.181150Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-26T21:04:13.113524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73550 paired=1 still_pending=0
2026-05-26T21:04:13.116810Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=18 pending_events=0 pending_frames=10 total_pairs=484 total_evicted=396 total_failed=0
2026-05-26T21:04:20.198770Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=7 total_pairs=484 total_evicted=399 total_failed=0
2026-05-26T21:04:20.199028Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73555 paired=1 still_pending=0
2026-05-26T21:04:20.360514Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3643362899810751552, trigger=click)
2026-05-26T21:04:31.815187Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=3 pending_events=1 pending_frames=5 total_pairs=485 total_evicted=402 total_failed=0
2026-05-26T21:04:31.815348Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73556 paired=1 still_pending=0
2026-05-26T21:04:35.047362Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=2 pending_events=0 pending_frames=4 total_pairs=486 total_evicted=404 total_failed=0
2026-05-26T21:04:35.047526Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73560 paired=1 still_pending=0
2026-05-26T21:04:35.190069Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3396646416531305755, trigger=click)
2026-05-26T21:04:35.881837Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73561 paired=1 still_pending=0
2026-05-26T21:04:39.664639Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=498 row_id=74599 frame_id=73564
2026-05-26T21:04:40.914816Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73567 paired=1 still_pending=0
2026-05-26T21:04:42.198029Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73569 paired=1 still_pending=0
2026-05-26T21:04:42.342866Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3577559571019619452, trigger=click)
2026-05-26T21:04:45.614868Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing (frame or event never arrived) evicted=1 pending_events=0 pending_frames=8 total_pairs=491 total_evicted=405 total_failed=0
2026-05-26T21:04:45.615182Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=73570 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backe...
|
iTerm2
|
screenpipe"
|
NULL
|
73585
|
|
75220
|
whisper_init_state: kv self size = 3.15 MB
whi whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)
2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684
2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684
2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)
2026-05-27T10:36:18.803558Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=122 elapsed=2.571758125s
2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted
2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)
2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted
2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0
2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0
2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0
2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2
2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701
2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701
2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0
2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)
2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0
2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0
2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2
2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714
2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714
2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)
2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0
2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)
2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0
2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0
2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:41:28.789568Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=103 elapsed=1.077141833s
2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted
2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0
2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0
2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0
2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0
2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)
2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786
2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789
2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789
2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)
2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)
2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)
2026-05-27T10:46:44.692921Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=38 elapsed=4.22927575s
2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames
2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted
2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted
2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)
2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0
2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0
2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810
2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0
2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0
2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0
2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0
2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0
2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)
2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0
2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827
2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0
2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831
2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)
2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)
2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836
2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0
2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)
2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840
2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=[CREDIT_CARD], trigger=visual_change)
2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841
2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0
2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845
2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847
2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0
2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0
2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0
2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0
2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857
2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0
2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860
2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)
2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858
2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)
2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862
2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)
2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)
2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)
2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0
2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0
2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)
2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)
2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0
2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)
2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)
2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:50.135374Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=48 elapsed=1.422438792s
2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted
2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted
2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)
2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:0...
|
iTerm2
|
screenpipe"
|
NULL
|
75220
|
|
75221
|
whisper_init_state: compute buffer (cross) = 8 whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:35:40.141806Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:35:42.355871Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=visual_change)
2026-05-27T10:35:42.371601Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:42.745658Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:35:53.651441Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=3 total_pairs=526 total_evicted=360 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:35:53.651830Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=527 row_id=75378 frame_id=74684
2026-05-27T10:35:53.653855Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=528 row_id=75379 frame_id=74684
2026-05-27T10:35:53.772857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1521371428381523728, trigger=click)
2026-05-27T10:36:18.803558Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=122 elapsed=2.571758125s
2026-05-27T10:36:18.804640Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T10:36:23.560483Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 62 frames, 11.2MB → 3.4MB (3.3x), 62 JPEGs deleted
2026-05-27T10:36:25.059395Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-984683312732951898, trigger=visual_change)
2026-05-27T10:36:27.704100Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 58 frames, 12.4MB → 3.3MB (3.8x), 58 JPEGs deleted
2026-05-27T10:36:38.801895Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=1 total_pairs=528 total_evicted=361 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:36:38.802185Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:36:38.806546Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74686 paired=1 still_pending=0
2026-05-27T10:37:05.194164Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:07.730220Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:08.341624Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9148666144578195410, trigger=visual_change)
2026-05-27T10:37:11.202125Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=1 total_pairs=530 total_evicted=362 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:11.202403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:11.207033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74691 paired=1 still_pending=0
2026-05-27T10:37:12.718238Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74696 paired=1 still_pending=0
2026-05-27T10:37:20.115681Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74697 paired=1 still_pending=0
2026-05-27T10:37:22.362104Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=0
2026-05-27T10:37:22.377498Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74701 paired=1 still_pending=2
2026-05-27T10:37:22.378336Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=537 row_id=75388 frame_id=74701
2026-05-27T10:37:22.379136Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=538 row_id=75389 frame_id=74701
2026-05-27T10:37:29.232294Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:31.964854Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74704 paired=2 still_pending=0
2026-05-27T10:37:32.183353Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=click)
2026-05-27T10:37:37.899079Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:37:39.779008Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=5 total_pairs=540 total_evicted=363 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:37:39.779242Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74705 paired=2 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:37:41.051056Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:37:44.849477Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:47.984977Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
2026-05-27T10:37:54.167046Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=3184301238519070667, trigger=visual_change)
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T10:38:03.465869Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:08.687319Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:09.661305Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:12.803020Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:28.254710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6658957020776806483, trigger=visual_change)
2026-05-27T10:38:30.396377Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=542 total_evicted=368 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:38:30.396612Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74706 paired=2 still_pending=0
2026-05-27T10:38:37.805958Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:38:49.836485Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:38:58.461033Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:38:58.465841Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74711 paired=1 still_pending=0
2026-05-27T10:39:00.897726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=0
2026-05-27T10:39:00.900298Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74714 paired=1 still_pending=2
2026-05-27T10:39:00.900710Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=549 row_id=75400 frame_id=74714
2026-05-27T10:39:00.901170Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=550 row_id=75401 frame_id=74714
2026-05-27T10:39:06.772643Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.139410Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.470101Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:07.817558Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:39:08.100216Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8751693788434476499, trigger=click)
2026-05-27T10:39:11.481654Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74716 paired=2 still_pending=0
2026-05-27T10:39:11.750262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6281539165544966502, trigger=click)
2026-05-27T10:39:14.477538Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74717 paired=2 still_pending=0
2026-05-27T10:39:19.739455Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:22.885369Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:39:41.852523Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:39:44.244561Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:50.557872Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:56.764268Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:39:59.929084Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=5516428671462846669, trigger=visual_change)
2026-05-27T10:41:10.769262Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:13.396400Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3674256212658952402, trigger=visual_change)
2026-05-27T10:41:27.774640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74719 paired=2 still_pending=0
2026-05-27T10:41:27.777545Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=5 pending_events=0 pending_frames=0 total_pairs=556 total_evicted=373 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:41:28.789568Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=103 elapsed=1.077141833s
2026-05-27T10:41:28.789700Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 103 eligible frames
2026-05-27T10:41:35.245508Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.271579Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74732 paired=1 still_pending=0
2026-05-27T10:41:35.701912Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 55 frames, 10.1MB → 3.8MB (2.7x), 55 JPEGs deleted
2026-05-27T10:41:39.071588Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:41:40.453904Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 46 frames, 7.4MB → 2.0MB (3.7x), 46 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:41:42.779975Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T10:41:49.027970Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74734 paired=1 still_pending=0
2026-05-27T10:41:54.788261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6268996426614625367, trigger=visual_change)
2026-05-27T10:42:05.144866Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74742 paired=1 still_pending=0
2026-05-27T10:42:06.582444Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:06.843637Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:42:09.596353Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:43:38.057719Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:43:43.569346Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:44:09.146196Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:45:23.785916Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=1 pending_frames=0 total_pairs=560 total_evicted=376 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:45:23.786179Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74748 paired=1 still_pending=0
2026-05-27T10:45:24.940282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74786 paired=1 still_pending=0
2026-05-27T10:45:29.802515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6862513116478460994, trigger=visual_change)
2026-05-27T10:45:29.870180Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=563 row_id=75419 frame_id=74786
2026-05-27T10:45:29.873329Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=564 row_id=75420 frame_id=74789
2026-05-27T10:45:29.873722Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=565 row_id=75421 frame_id=74789
2026-05-27T10:45:39.152749Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8281068984975041413, trigger=visual_change)
2026-05-27T10:45:54.661364Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:45:57.781035Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1466396785125793685, trigger=visual_change)
2026-05-27T10:46:04.115060Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:07.299136Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=visual_change)
2026-05-27T10:46:10.500428Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-8448140193739873103, trigger=click)
2026-05-27T10:46:20.108299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:23.255295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4504152815506357998, trigger=visual_change)
2026-05-27T10:46:34.775104Z INFO screenpipe_db::db: created new speaker id=82 (no existing match within threshold)
2026-05-27T10:46:44.692921Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=38 elapsed=4.22927575s
2026-05-27T10:46:44.693639Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 38 eligible frames
2026-05-27T10:46:44.768230Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:47.539847Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 22 frames, 4.5MB → 1.9MB (2.4x), 22 JPEGs deleted
2026-05-27T10:46:47.898858Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-2269009684937358157, trigger=visual_change)
2026-05-27T10:46:48.704833Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.9MB → 0.3MB (8.7x), 14 JPEGs deleted
2026-05-27T10:47:30.845429Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=324148660677850927, trigger=visual_change)
2026-05-27T10:47:31.133058Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=1 pending_frames=0 total_pairs=565 total_evicted=380 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:47:31.133211Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74793 paired=2 still_pending=0
2026-05-27T10:47:39.504097Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:47:41.519243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
2026-05-27T10:47:41.522121Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74804 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:47:44.365124Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:47:46.103074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74808 paired=1 still_pending=0
2026-05-27T10:47:46.115167Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=571 row_id=75427 frame_id=74810
2026-05-27T10:47:49.351709Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74811 paired=1 still_pending=0
2026-05-27T10:47:49.778815Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74813 paired=1 still_pending=0
2026-05-27T10:47:52.292862Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74814 paired=1 still_pending=0
2026-05-27T10:47:55.519188Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74815 paired=1 still_pending=0
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T10:48:03.750757Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:12.999947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5853483623264085375, trigger=visual_change)
2026-05-27T10:48:13.601770Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74818 paired=1 still_pending=0
2026-05-27T10:48:19.245059Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74823 paired=1 still_pending=0
2026-05-27T10:48:20.392916Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=351139886521669435, trigger=visual_change)
2026-05-27T10:48:20.561783Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74826 paired=1 still_pending=0
2026-05-27T10:48:22.234456Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=579 row_id=75436 frame_id=74827
2026-05-27T10:48:23.362373Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74829 paired=1 still_pending=0
2026-05-27T10:48:31.033187Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=581 row_id=75439 frame_id=74831
2026-05-27T10:48:34.542082Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=581 total_evicted=382 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:38.516524Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8835137622839399697, trigger=visual_change)
2026-05-27T10:48:39.454969Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-7851543753003591938, trigger=visual_change)
2026-05-27T10:48:39.994608Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=582 row_id=75441 frame_id=74836
2026-05-27T10:48:40.650038Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74838 paired=1 still_pending=0
2026-05-27T10:48:41.263828Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-8828367637830510212, trigger=click)
2026-05-27T10:48:42.174562Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=584 row_id=75443 frame_id=74840
2026-05-27T10:48:44.683767Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=[CREDIT_CARD], trigger=visual_change)
2026-05-27T10:48:44.896658Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=584 total_evicted=383 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:48:44.896895Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=585 row_id=75445 frame_id=74841
2026-05-27T10:48:46.056031Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74843 paired=1 still_pending=0
2026-05-27T10:48:48.845147Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=587 row_id=75448 frame_id=74845
2026-05-27T10:48:51.275282Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=588 row_id=75449 frame_id=74847
2026-05-27T10:48:53.293443Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74849 paired=1 still_pending=0
2026-05-27T10:48:56.208700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74851 paired=1 still_pending=0
2026-05-27T10:48:59.176524Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74853 paired=1 still_pending=0
2026-05-27T10:49:00.349380Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74855 paired=1 still_pending=0
2026-05-27T10:49:03.413713Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:06.543816Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:06.637710Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:08.324034Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:08.664754Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:49:09.636214Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.784517Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=visual_change)
2026-05-27T10:49:12.993702Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=593 row_id=75455 frame_id=74857
2026-05-27T10:49:13.177475Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.544041Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=593 total_evicted=384 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:17.544223Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74858 paired=1 still_pending=0
2026-05-27T10:49:17.609729Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:17.709903Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=595 row_id=75457 frame_id=74860
2026-05-27T10:49:17.762481Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-3217942059001297421, trigger=click)
2026-05-27T10:49:19.138578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=visual_change)
2026-05-27T10:49:19.523959Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=596 row_id=75458 frame_id=74858
2026-05-27T10:49:19.542760Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=19 total_pairs=596 total_evicted=385 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:19.594743Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1624976288735249465, trigger=click)
2026-05-27T10:49:43.842958Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8201919100771035126, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:49:45.194360Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T10:49:46.606320Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=9 pending_events=0 pending_frames=11 total_pairs=596 total_evicted=394 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:49:46.606672Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=597 row_id=75459 frame_id=74862
2026-05-27T10:49:51.439722Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-1021942438266116204, trigger=visual_change)
2026-05-27T10:49:57.772158Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-5275664159014309534, trigger=visual_change)
2026-05-27T10:50:05.975199Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:50:10.203979Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=visual_change)
2026-05-27T10:50:13.008938Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=1 pending_frames=4 total_pairs=597 total_evicted=401 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:50:13.010176Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=1 still_pending=0
2026-05-27T10:50:13.014567Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74872 paired=3 still_pending=0
2026-05-27T10:50:13.241765Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3059714623488849893, trigger=click)
2026-05-27T10:50:53.467165Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:56.597593Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:50:59.739002Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=7120876338218223519, trigger=visual_change)
2026-05-27T10:51:06.132457Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-9096346061608388843, trigger=visual_change)
2026-05-27T10:51:09.336010Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=2 pending_frames=1 total_pairs=601 total_evicted=405 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:09.336225Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74877 paired=2 still_pending=0
2026-05-27T10:51:21.604110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=visual_change)
2026-05-27T10:51:22.055285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=603 total_evicted=406 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T10:51:22.055543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.057517Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=74883 paired=1 still_pending=0
2026-05-27T10:51:22.160975Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1647522836582025685, trigger=click)
2026-05-27T10:51:33.786507Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:51:34.241453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:51:46.024317Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:51:49.530490Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:50.135374Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=48 elapsed=1.422438792s
2026-05-27T10:51:50.135691Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 48 eligible frames
2026-05-27T10:51:52.705843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-3753022029866774533, trigger=visual_change)
2026-05-27T10:51:53.343898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 31 frames, 6.4MB → 2.6MB (2.5x), 31 JPEGs deleted
2026-05-27T10:51:54.784598Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 15 frames, 2.8MB → 0.6MB (4.7x), 15 JPEGs deleted
2026-05-27T10:52:03.972202Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:05.016297Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:08.161325Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:14.349460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8904443189556081906, trigger=visual_change)
2026-05-27T10:52:34.334962Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:35.620623Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:52:36.480915Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T10:53:27.969672Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
2026-05-27T10:53:34.270392Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:53:37.196546Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8858907186728097659, trigger=visual_change)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T10:53:46.822864Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T10:53:55.581368Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:53:58.715295Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2277012794720318729, trigger=visual_change)
2026-05-27T10:54:02.829943Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:54:17.402312Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=8648087632458352271, trigger=visual_change)
2026-05-27T10:54:32.940665Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:36.100699Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:42.273843Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:48.452077Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:51.596005Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:54:57.804909Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=2581040838396713889, trigger=visual_change)
2026-05-27T10:55:03.190911Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:03.510766Z INFO screenpipe_audio::transcription::handle_new_transcript: device System Audio (output) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T10:55:03.850354Z INFO screenpipe_audio::transcription::handle_new_transc...
|
iTerm2
|
screenpipe"
|
NULL
|
75221
|
|
76283
|
whisper_init_state: kv pad size = 2.36 MB
whi whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T11:58:10.137152Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T11:58:44.356006Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T11:58:44.394962Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T11:58:44.399155Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-27T11:58:44.534673Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T11:58:44.536534Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T11:59:05.419535Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T11:59:14.737858Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=64 elapsed=1.644319708s
2026-05-27T11:59:14.738056Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 64 eligible frames
2026-05-27T11:59:17.010524Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 37 frames, 3.8MB → 0.8MB (5.0x), 37 JPEGs deleted
2026-05-27T11:59:18.731803Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 25 frames, 5.0MB → 2.2MB (2.3x), 25 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:00:10.683258Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 7 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:02:11.185871Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:04:11.749255Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T12:04:18.861371Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 25 eligible frames
2026-05-27T12:04:19.723450Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (8.3x), 13 JPEGs deleted
2026-05-27T12:04:20.534064Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 1.7MB → 0.5MB (3.6x), 10 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:06:12.266922Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:08:12.891988Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 8 orphaned chunks
2026-05-27T12:09:21.112477Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 23 eligible frames
2026-05-27T12:09:22.022704Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 13 frames, 1.9MB → 0.2MB (7.8x), 13 JPEGs deleted
2026-05-27T12:09:22.737135Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.4MB → 0.3MB (5.2x), 8 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:10:13.232019Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T12:14:24.568655Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=2 elapsed=1.8162575s
2026-05-27T12:14:24.568903Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T12:27:06.535617Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T12:27:06.761974Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T12:27:06.762281Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-05-27T12:27:07.386037Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T12:27:07.386834Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)
2026-05-27T12:27:07.768097Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T12:27:08.173308Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart
2026-05-27T12:27:08.173352Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594375Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594469Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)
2026-05-27T12:27:08.594512Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T12:27:32.477196Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T12:27:33.194865Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T12:28:42.665826Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.049781Z INFO screenpipe_db::db: created new speaker id=83 (no existing match within threshold)
2026-05-27T12:28:43.367944Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.576905Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:28:43.778591Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T12:29:28.338419Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=3.174693667s
2026-05-27T12:32:00.901823Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=10 pending_events=0 pending_frames=0 total_pairs=1269 total_evicted=882 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:32:00.902369Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76092 paired=2 still_pending=0
2026-05-27T12:32:02.222543Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 83.9ms elapsed (expected 5.3ms) → inserting 78.5ms silence (7539 samples)
2026-05-27T12:32:07.845010Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76166 paired=1 still_pending=0
2026-05-27T12:32:24.441771Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76168 paired=1 still_pending=0
2026-05-27T12:32:31.303878Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)
2026-05-27T12:32:34.157487Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1274 row_id=76421 frame_id=76174
2026-05-27T12:32:34.363926Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:34.515376Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:34.905401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76174 paired=1 still_pending=0
2026-05-27T12:32:35.161449Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:35.520668Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:35.921335Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1276 row_id=76423 frame_id=76173
2026-05-27T12:32:36.175299Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:36.538371Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:40.214616Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1277 row_id=76424 frame_id=76173
2026-05-27T12:32:40.472589Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:40.520766Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:40.996964Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=visual_change)
2026-05-27T12:32:41.397100Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:41.650390Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:41.702091Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:42.456312Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:42.813773Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=typing_pause)
2026-05-27T12:32:48.788020Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 119.1ms elapsed (expected 5.3ms) → inserting 113.7ms silence (10919 samples)
2026-05-27T12:32:49.065196Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76175 paired=1 still_pending=0
2026-05-27T12:32:49.319857Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=4133878561626437167, trigger=click)
2026-05-27T12:32:51.161174Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76173 paired=1 still_pending=0
2026-05-27T12:32:52.374401Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76178 paired=1 still_pending=0
2026-05-27T12:32:52.425840Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76179 paired=1 still_pending=0
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
2026-05-27T12:33:04.812218Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1283 total_evicted=883 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:33:13.962186Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired fr...
|
iTerm2
|
screenpipe"
|
NULL
|
76283
|
|
76742
|
8.2ms silence (7505 samples)
2026-05-27T12:46:02.7 8.2ms silence (7505 samples)
2026-05-27T12:46:02.725845Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:02.949643Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76503 paired=1 still_pending=0
2026-05-27T12:46:03.204961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:08.966239Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1515 row_id=76731 frame_id=76502
2026-05-27T12:46:08.967122Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0
2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508
2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507
2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0
2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514
2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0
2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520
2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521
2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520
2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0
2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0
2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0
2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529
2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530
2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0
2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
ggml_metal_free: deallocating
2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0
2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0
2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0
2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0
2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0
2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544
2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0
2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546
2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548
2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550
2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0
2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554
2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0
2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558
2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560
2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562
2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0
2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0
2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0
2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0
2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0
2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0
2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0
2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0
2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0
2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted
2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted
2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0
2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576
2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576
2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576
2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577
2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576
2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576
2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578
2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580
2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582
2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584
2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589
2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591
2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0
2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0
2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)
2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0
2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0
2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)
2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604
2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604
2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606
2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608
2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610
2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0
2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0
2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0
2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0
2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0
2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0
2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0
2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0
2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) fram...
|
iTerm2
|
screenpipe"
|
NULL
|
76742
|
|
76743
|
M/paused/lagged/capture_error); investigate the re M/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=8 total_pairs=1515 total_evicted=1052 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:09.915452Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76505 paired=1 still_pending=0
2026-05-27T12:46:09.918660Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=7 total_pairs=1516 total_evicted=1053 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:10.727994Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
2026-05-27T12:46:11.332742Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1518 row_id=76734 frame_id=76508
2026-05-27T12:46:11.393442Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:13.443359Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1519 row_id=76735 frame_id=76507
2026-05-27T12:46:13.803813Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:14.929878Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76507 paired=1 still_pending=0
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:46:16.187614Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:46:19.819598Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1520 total_evicted=1054 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:23.591470Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76513 paired=1 still_pending=0
2026-05-27T12:46:23.947762Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:25.221434Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:26.156752Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:27.499978Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1523 row_id=76745 frame_id=76514
2026-05-27T12:46:27.857736Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:29.801132Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76517 paired=1 still_pending=0
2026-05-27T12:46:29.820656Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1524 total_evicted=1055 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:30.059795Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:35.068012Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:35.326448Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.165011Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=14 total_pairs=1525 total_evicted=1056 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:41.165200Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.424152Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:46:41.950824Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:41.952375Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76514 paired=1 still_pending=0
2026-05-27T12:46:44.668488Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1529 row_id=76751 frame_id=76520
2026-05-27T12:46:44.669252Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1530 row_id=76752 frame_id=76521
2026-05-27T12:46:46.019527Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1531 row_id=76753 frame_id=76520
2026-05-27T12:46:48.148247Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76520 paired=2 still_pending=0
2026-05-27T12:46:48.731394Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:51.877240Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1535 total_evicted=1057 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:51.877715Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76523 paired=2 still_pending=0
2026-05-27T12:46:53.648302Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:54.272758Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:46:57.323392Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1539 total_evicted=1058 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:46:57.323646Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76524 paired=1 still_pending=0
2026-05-27T12:47:01.620667Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76525 paired=1 still_pending=0
2026-05-27T12:47:01.937515Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:07.232856Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:10.284934Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:13.336270Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:16.364147Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:22.688769Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76526 paired=1 still_pending=0
2026-05-27T12:47:22.690438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=7 pending_events=0 pending_frames=12 total_pairs=1542 total_evicted=1065 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:23.044974Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:25.589300Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:25.672034Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=10 total_pairs=1542 total_evicted=1067 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:25.672148Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:28.495364Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1544 row_id=76766 frame_id=76529
2026-05-27T12:47:29.821184Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=8 total_pairs=1544 total_evicted=1069 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:30.403252Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:32.855792Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:33.110578Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:33.208117Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:38.343309Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=8 total_pairs=1545 total_evicted=1070 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:38.343422Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76529 paired=1 still_pending=0
2026-05-27T12:47:38.703433Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.480813Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:40.737804Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:40.837862Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.319113Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:41.574344Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:41.882404Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:43.743921Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1549 row_id=76772 frame_id=76530
2026-05-27T12:47:44.015965Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:44.098460Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.354191Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=8 total_pairs=1549 total_evicted=1074 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:45.354424Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76530 paired=1 still_pending=0
2026-05-27T12:47:45.621734Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:45.714088Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:47:50.718103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:53.765110Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=visual_change)
2026-05-27T12:47:55.991145Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=8 total_pairs=1550 total_evicted=1075 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:47:55.991602Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76531 paired=1 still_pending=0
2026-05-27T12:47:56.350961Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:47:57.041657Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76532 paired=1 still_pending=0
2026-05-27T12:47:57.401889Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:02.927464Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
2026-05-27T12:48:02.933165Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1553 total_evicted=1076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:03.186279Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
2026-05-27T12:48:16.361812Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76533 paired=1 still_pending=0
ggml_metal_free: deallocating
2026-05-27T12:48:16.620142Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.733322Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:16.817801Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:48:24.444303Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=10 total_pairs=1554 total_evicted=1077 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:24.444428Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:24.697885Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:24.800709Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:48:30.629207Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76534 paired=1 still_pending=0
2026-05-27T12:48:42.149066Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76535 paired=1 still_pending=0
2026-05-27T12:48:42.153305Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=9 total_pairs=1557 total_evicted=1081 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:43.290267Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76537 paired=1 still_pending=0
2026-05-27T12:48:44.821129Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1558 total_evicted=1082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:46.846673Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76539 paired=1 still_pending=0
2026-05-27T12:48:49.821591Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1559 total_evicted=1083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.864797Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=7 total_pairs=1559 total_evicted=1085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:48:59.865166Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76542 paired=1 still_pending=0
2026-05-27T12:49:01.065519Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76544 paired=1 still_pending=0
2026-05-27T12:49:01.152640Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1562 row_id=76791 frame_id=76544
2026-05-27T12:49:03.328116Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76546 paired=1 still_pending=0
2026-05-27T12:49:03.331199Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1564 row_id=76793 frame_id=76546
2026-05-27T12:49:04.821831Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=11 total_pairs=1564 total_evicted=1086 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:06.434589Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1565 row_id=76796 frame_id=76548
2026-05-27T12:49:09.267795Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1566 row_id=76798 frame_id=76550
2026-05-27T12:49:11.938278Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76552 paired=1 still_pending=0
2026-05-27T12:49:13.618263Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1568 row_id=76800 frame_id=76554
2026-05-27T12:49:14.398973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76556 paired=1 still_pending=0
2026-05-27T12:49:15.861875Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1570 row_id=76802 frame_id=76558
2026-05-27T12:49:17.481533Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1571 row_id=76806 frame_id=76560
2026-05-27T12:49:19.466005Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1572 row_id=76807 frame_id=76562
2026-05-27T12:49:19.821386Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1572 total_evicted=1087 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.048800Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76564 paired=1 still_pending=0
2026-05-27T12:49:27.051285Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=18 total_pairs=1573 total_evicted=1088 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:27.936969Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76566 paired=2 still_pending=0
2026-05-27T12:49:29.365779Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76567 paired=2 still_pending=0
2026-05-27T12:49:30.449322Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76568 paired=2 still_pending=0
2026-05-27T12:49:32.150440Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:36.386782Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1581 total_evicted=1089 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:36.386929Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76569 paired=2 still_pending=0
2026-05-27T12:49:38.220308Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76571 paired=1 still_pending=0
2026-05-27T12:49:38.746143Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76572 paired=1 still_pending=0
2026-05-27T12:49:42.961297Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 122 eligible frames
2026-05-27T12:49:44.557950Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=15 total_pairs=1585 total_evicted=1091 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:44.558076Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76573 paired=1 still_pending=0
2026-05-27T12:49:45.249599Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76574 paired=1 still_pending=0
2026-05-27T12:49:45.746700Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76575 paired=1 still_pending=0
2026-05-27T12:49:46.035898Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 50 frames, 8.5MB → 3.5MB (2.4x), 50 JPEGs deleted
2026-05-27T12:49:50.659176Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 70 frames, 12.4MB → 5.1MB (2.4x), 70 JPEGs deleted
2026-05-27T12:49:58.499676Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=14 total_pairs=1588 total_evicted=1092 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:49:58.499902Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76576 paired=1 still_pending=0
2026-05-27T12:49:58.542706Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.633153Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:49:58.712913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1590 row_id=76829 frame_id=76576
2026-05-27T12:49:58.713518Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1591 row_id=76830 frame_id=76576
2026-05-27T12:49:59.688085Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:00.888000Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=17 total_pairs=1591 total_evicted=1093 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:00.888150Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1592 row_id=76831 frame_id=76576
2026-05-27T12:50:00.890259Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1593 row_id=76832 frame_id=76577
2026-05-27T12:50:01.565328Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:01.993453Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=1726243610221729325, trigger=click)
2026-05-27T12:50:03.172973Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1594 row_id=76837 frame_id=76576
2026-05-27T12:50:03.177345Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1595 row_id=76838 frame_id=76576
2026-05-27T12:50:04.821796Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=14 total_pairs=1595 total_evicted=1097 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:05.457735Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1596 row_id=76840 frame_id=76578
2026-05-27T12:50:07.228497Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1597 row_id=76841 frame_id=76580
2026-05-27T12:50:09.733766Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1598 row_id=76844 frame_id=76582
2026-05-27T12:50:09.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=16 total_pairs=1598 total_evicted=1099 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.591438Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1598 total_evicted=1102 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:15.592552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1599 row_id=76845 frame_id=76584
2026-05-27T12:50:16.577941Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1600 row_id=76846 frame_id=76587
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:50:17.212044Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:50:24.730143Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=12 total_pairs=1600 total_evicted=1105 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:24.730523Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1601 row_id=76849 frame_id=76589
2026-05-27T12:50:26.164576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1602 row_id=76850 frame_id=76591
2026-05-27T12:50:40.748062Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=1 pending_frames=12 total_pairs=1602 total_evicted=1106 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:50:40.748260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76594 paired=1 still_pending=0
2026-05-27T12:50:47.012001Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76596 paired=1 still_pending=0
2026-05-27T12:50:47.874397Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:48.229660Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-1683339962077118729, trigger=typing_pause)
2026-05-27T12:50:49.214882Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76597 paired=1 still_pending=0
2026-05-27T12:50:53.977750Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76598 paired=1 still_pending=0
2026-05-27T12:50:56.309074Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76600 paired=1 still_pending=0
2026-05-27T12:50:58.173529Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:58.429000Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:58.532571Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.091726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:50:59.349678Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=6419310702985623602, trigger=click)
2026-05-27T12:50:59.556623Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=6419310702985623602, trigger=click)
2026-05-27T12:51:02.132123Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=12 total_pairs=1610 total_evicted=1110 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:02.132318Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76602 paired=1 still_pending=0
2026-05-27T12:51:03.404947Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-418369950010791277, trigger=visual_change)
2026-05-27T12:51:04.361502Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1612 row_id=76864 frame_id=76604
2026-05-27T12:51:04.363726Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1613 row_id=76865 frame_id=76604
2026-05-27T12:51:05.244764Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1614 row_id=76866 frame_id=76606
2026-05-27T12:51:05.246838Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=13 total_pairs=1614 total_evicted=1111 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:05.878140Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1615 row_id=76867 frame_id=76608
2026-05-27T12:51:11.887275Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=13 total_pairs=1615 total_evicted=1114 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:11.887419Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1616 row_id=76868 frame_id=76610
2026-05-27T12:51:12.445237Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76612 paired=1 still_pending=0
2026-05-27T12:51:25.947864Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=10 total_pairs=1617 total_evicted=1117 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:25.948133Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76613 paired=1 still_pending=0
2026-05-27T12:51:37.613579Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1618 total_evicted=1118 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:37.614036Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76614 paired=1 still_pending=0
2026-05-27T12:51:37.975923Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:43.896370Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:44.252255Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:51:48.602891Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:48.966039Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:49.157103Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:50.031906Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:50.301751Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:51.071619Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:52.082663Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:51:54.822930Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=9 total_pairs=1624 total_evicted=1119 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:58.149853Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:51:59.989746Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=6 total_pairs=1624 total_evicted=1122 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:51:59.990107Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76616 paired=1 still_pending=0
2026-05-27T12:52:00.272261Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=typing_pause)
2026-05-27T12:52:09.434291Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=1625 total_evicted=1126 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:09.434541Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76617 paired=1 still_pending=0
2026-05-27T12:52:09.689505Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:09.788103Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:10.576796Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76618 paired=1 still_pending=0
2026-05-27T12:52:14.464913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76620 paired=1 still_pending=0
2026-05-27T12:52:14.822399Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=6 total_pairs=1628 total_evicted=1127 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=20
2026-05-27T12:52:17.381610Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1629 row_id=76887 frame_id=76622
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T12:52:17.756761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
2026-05-27T12:52:20.687432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76625 paired=1 still_pending=0
2026-05-27T12:52:23.276833Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76628 paired=1 still_pending=0
2026-05-27T12:52:29.445253Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76631 paired=1 still_pending=0
2026-05-27T12:52:35.573618Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=76636 paired=1 still_pending=0
2026-05-27T12:52:35.832677Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:36.132401Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-27T12:52:36.265576Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=1634 row_id=76897 frame_id=76636
2026-05-27T12:52:37.234726Z INFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 1 (hash=-6408054502878359135, trigger=click)
2026-05-2...
|
iTerm2
|
screenpipe"
|
NULL
|
76743
|
|
79074
|
whisper_init_state: compute buffer (decode) = 96 whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T16:17:18.862798Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 4 orphaned chunks
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T16:19:19.239908Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T16:20:38.141382Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 13 eligible frames
2026-05-27T16:20:38.985648Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 6 frames, 1.2MB → 0.3MB (4.0x), 6 JPEGs deleted
2026-05-27T16:20:39.562443Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 5 frames, 0.8MB → 0.2MB (3.3x), 5 JPEGs deleted
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T16:25:42.551189Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=2 elapsed=2.977805916s
2026-05-27T16:25:42.551827Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T16:45:46.451561Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=2.911930083s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T16:55:49.902531Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=2.797269291s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T17:15:53.735688Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=2.870476166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T17:25:58.860635Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.430256291s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T17:31:03.317775Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.444169292s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T17:46:07.513696Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.367766333s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T17:56:09.253701Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.600230792s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T18:01:12.354884Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.088745375s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T18:16:16.300726Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.66344025s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T18:31:21.331314Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.38569975s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T18:46:24.863785Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.35892025s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T18:56:27.848582Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.974494292s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T19:01:32.268541Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.406029708s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T19:16:35.844538Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.34883125s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T19:19:10.131577Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T19:19:10.180371Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T19:19:10.181279Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 2
2026-05-27T19:19:11.096678Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for soundcore AeroClip (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T19:19:11.101280Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: stream rebuild required after screen unlock for soundcore AeroClip (input) (recovery is automatic via device_monitor)
2026-05-27T19:19:11.510267Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-27T19:19:13.088581Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:19:13.088739Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:19:13.275702Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:19:13.275838Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:19:13.275883Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T19:19:14.126542Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=0 rows_returned=266 elapsed=3.172579416s
2026-05-27T19:19:21.554805Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78861 paired=2 still_pending=0
2026-05-27T19:19:21.737913Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2937 row_id=79092 frame_id=78861
2026-05-27T19:19:21.738433Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2938 row_id=79093 frame_id=78861
2026-05-27T19:19:23.337089Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T19:19:24.594015Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T19:19:35.103573Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78862 paired=2 still_pending=0
2026-05-27T19:19:39.820426Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2941 row_id=79096 frame_id=78864
2026-05-27T19:19:39.821403Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2942 row_id=79097 frame_id=78864
2026-05-27T19:20:58.188372Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=0 total_pairs=2941 total_evicted=2076 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23
2026-05-27T19:20:58.188693Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78866 paired=2 still_pending=0
2026-05-27T19:20:59.493220Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=0
2026-05-27T19:20:59.576243Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78875 paired=1 still_pending=2
2026-05-27T19:20:59.576633Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2947 row_id=79102 frame_id=78875
2026-05-27T19:20:59.576940Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2948 row_id=79103 frame_id=78875
2026-05-27T19:21:40.067488Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.214735041s
2026-05-27T19:21:46.775380Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:21:46.935956Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:21:47.218145Z INFO screenpipe_db::db: created new speaker id=85 (no existing match within threshold)
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T19:23:46.150852Z INFO screenpipe_db::db: created new speaker id=86 (no existing match within threshold)
2026-05-27T19:26:46.924006Z INFO screenpipe_audio::transcription::handle_new_transcript: device soundcore AeroClip (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:27:33.161935Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-27T19:27:33.162914Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-27T19:27:34.378046Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:27:34.378158Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:27:34.536448Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:27:34.536502Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:27:34.536538Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T19:28:14.094293Z WARN screenpipe_audio::core::run_record_and_transcribe: no usable audio from soundcore AeroClip (input) for 30s — only zero-fill buffers (likely OS device hijack by another app), triggering reconnect
2026-05-27T19:28:14.094516Z WARN screenpipe_audio::audio_manager::manager: recording for device soundcore AeroClip (input) exited with error: Audio stream zero-fill — no usable data from soundcore AeroClip (input) for 30s (suspected device hijack by another process)
2026-05-27T19:28:16.063296Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for soundcore AeroClip (input), cleaning up for restart
2026-05-27T19:28:16.063534Z INFO screenpipe_audio::device::device_manager: Stopping device: soundcore AeroClip (input)
2026-05-27T19:28:16.182764Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T19:28:16.182890Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: soundcore AeroClip (input)
2026-05-27T19:28:16.182944Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T19:28:35.154474Z WARN screenpipe_audio::core::stream: audio device soundcore AeroClip disconnected. stopping recording.
2026-05-27T19:28:36.204851Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320413Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320512Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: MacBook Pro Microphone (input)
2026-05-27T19:28:36.320550Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T19:28:42.802561Z WARN screenpipe_audio::core::run_record_and_transcribe: no audio received from soundcore AeroClip (input) for 8s - stream dead, triggering reconnect
2026-05-27T19:29:09.436430Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:29:09.624056Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:29:21.480217Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T19:29:39.329156Z INFO screenpipe_audio::transcription::handle_new_transcript: device MacBook Pro Microphone (input) skipping duplicate transcript (entire content overlaps with previous)
2026-05-27T19:30:10.035504Z INFO screenpipe_db::db: created new speaker id=87 (no existing match within threshold)
2026-05-27T19:31:10.870402Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T19:31:10.901074Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T19:31:10.911913Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T19:31:11.037656Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T19:31:11.039089Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:31:21.901499Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T19:31:38.182794Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T19:31:44.036779Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=21 elapsed=3.834621166s
2026-05-27T19:31:44.036888Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 21 eligible frames
2026-05-27T19:31:44.962604Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.6MB (4.2x), 10 JPEGs deleted
2026-05-27T19:31:46.049452Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 11 frames, 2.3MB → 0.8MB (3.0x), 11 JPEGs deleted
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:33:22.255803Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:35:22.622050Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T19:36:46.180141Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames
2026-05-27T19:36:47.000392Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.6MB → 0.4MB (6.0x), 10 JPEGs deleted
2026-05-27T19:36:47.761647Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 10 frames, 2.1MB → 0.3MB (6.3x), 10 JPEGs deleted
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:37:22.983307Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:39:23.310196Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T19:41:23.699761Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 2 orphaned chunks
2026-05-27T19:41:48.301565Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 18 eligible frames
2026-05-27T19:41:49.105007Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.4MB (4.8x), 8 JPEGs deleted
2026-05-27T19:41:49.844943Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 1.7MB → 0.3MB (5.0x), 8 JPEGs deleted
2026-05-27T19:46:53.070295Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=2 elapsed=3.173894667s
2026-05-27T19:46:53.071008Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T20:01:57.477900Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.076398417s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T20:16:59.250820Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.474732166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
2026-05-27T20:22:00.751858Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.487661583s
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T20:24:09.994516Z INFO screenpipe_engine::sleep_monitor: Screen unlocked (CGSession safety-net poll)
2026-05-27T20:24:10.513707Z INFO screenpipe_audio::core::run_record_and_transcribe: screen unlocked — rebuilding stream for MacBook Pro Microphone (input) (avoids zombie-callback state observed after sleep/wake on macOS, Windows, and Linux)
2026-05-27T20:24:10.515471Z INFO screenpipe_engine::event_driven_capture: monitor 1: exiting pause state, capture resumes
2026-05-27T20:24:10.520220Z INFO screenpipe_engine::event_driven_capture: invalidating persistent streams after unlock/wake for monitor 1
2026-05-27T20:24:10.520332Z WARN screenpipe_audio::audio_manager::manager: recording for device MacBook Pro Microphone (input) exited with error: stream rebuild required after screen unlock for MacBook Pro Microphone (input) (recovery is automatic via device_monitor)
2026-05-27T20:24:12.791928Z WARN screenpipe_audio::audio_manager::device_monitor: [DEVICE_RECOVERY] detected stale recording handle for MacBook Pro Microphone (input), cleaning up for restart
2026-05-27T20:24:12.792021Z INFO screenpipe_audio::device::device_manager: Stopping device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540567Z INFO screenpipe_audio::device::device_manager: starting recording for device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540645Z INFO screenpipe_audio::audio_manager::device_monitor: restarted with system default device: MacBook Pro Microphone (input)
2026-05-27T20:24:13.540725Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for MacBook Pro Microphone (input) (wired / 30s segments)
2026-05-27T20:24:14.319586Z INFO sck_rs::stream_manager: persistent SCK stream started for display 1 (1440x900, 2fps, 0 excluded)
2026-05-27T20:24:15.301552Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2949 row_id=79104 frame_id=78877
2026-05-27T20:24:15.303852Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2950 row_id=79105 frame_id=78877
2026-05-27T20:24:15.304917Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=3 pending_events=0 pending_frames=1 total_pairs=2949 total_evicted=2079 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=23
2026-05-27T20:24:15.591192Z WARN screenpipe_engine::resource_monitor: PostHog request timed out
2026-05-27T20:24:16.268149Z WARN screenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 87.1ms elapsed (expected 5.3ms) → inserting 81.8ms silence (7852 samples)
2026-05-27T20:24:18.407919Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2951 row_id=79106 frame_id=78917
2026-05-27T20:24:18.530701Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired event→frame (frame arrived first) corr_id=2952 row_id=79107 frame_id=78917
2026-05-27T20:24:18.910852Z WARN sqlx::query: summary="SELECT DISTINCT app_name, window_name, …" db.statement="\n\nSELECT\n DISTINCT app_name,\n window_name,\n browser_url\nFROM\n frames\nWHERE\n timestamp > datetime('now', '-30 seconds')\n AND app_name IS NOT NULL\n AND window_name IS NOT NULL\n" rows_affected=0 rows_returned=268 elapsed=2.974554041s
2026-05-27T20:24:32.364957Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78918 paired=2 still_pending=0
2026-05-27T20:24:33.201260Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78919 paired=2 still_pending=0
2026-05-27T20:24:37.724508Z INFO screenpipe_engine::event_driven_capture: monitor 2: exiting pause state, capture resumes
2026-05-27T20:24:38.732543Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78920 paired=2 still_pending=0
2026-05-27T20:24:40.714895Z INFO sck_rs::stream_manager: persistent SCK stream started for display 2 (1920x800, 2fps, 0 excluded)
2026-05-27T20:24:41.061484Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78921 paired=1 still_pending=0
2026-05-27T20:24:51.979910Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78923 paired=1 still_pending=0
2026-05-27T20:24:54.461251Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78926 paired=1 still_pending=0
2026-05-27T20:25:08.545615Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78928 paired=1 still_pending=0
2026-05-27T20:25:16.197209Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2961 total_evicted=2080 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:25:16.197432Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78930 paired=1 still_pending=0
2026-05-27T20:25:22.213582Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78934 paired=1 still_pending=0
2026-05-27T20:25:24.046960Z INFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=78937 paired=1 still_pending=0
2026-05-27T20:25:25.114376Z INFO screenpipe_engine::sleep_monitor: Screen locked (CGSession safety-net poll)
2026-05-27T20:25:25.194429Z INFO screenpipe_engine::event_driven_capture: monitor 2: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T20:25:25.208753Z INFO sck_rs::stream_manager: invalidated persistent stream for display 2
2026-05-27T20:25:25.256695Z INFO screenpipe_engine::event_driven_capture: monitor 1: entering pause state (locked=true, power_paused=false, drm=false, schedule=false); releasing capture stream
2026-05-27T20:25:25.258505Z INFO sck_rs::stream_manager: invalidated persistent stream for display 1
2026-05-27T20:25:43.969432Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for MacBook Pro Microphone (input)
2026-05-27T20:25:46.039629Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=3 total_pairs=2964 total_evicted=2082 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:26:21.041596Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=1 pending_events=0 pending_frames=2 total_pairs=2964 total_evicted=2083 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:26:26.041344Z WARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing — these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=0 total_pairs=2964 total_evicted=2085 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=29
2026-05-27T20:27:04.879948Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.114801083s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T20:32:09.417429Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.524074166s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T20:35:24.711589Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 3 orphaned chunks
2026-05-27T20:37:09.552031Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 22 eligible frames
2026-05-27T20:37:10.445486Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 8 frames, 2.1MB → 0.7MB (3.1x), 8 JPEGs deleted
2026-05-27T20:37:11.757146Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: 14 frames, 2.1MB → 1.0MB (2.0x), 14 JPEGs deleted
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T20:42:11.877362Z INFO screenpipe_engine::snapshot_compaction: snapshot compaction: found 2 eligible frames
2026-05-27T20:47:13.792842Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=1 rows_returned=0 elapsed=1.903846458s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T20:57:15.516997Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=1.576325208s
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T21:02:18.761759Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.232037959s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T21:17:24.503646Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=4.601511166s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
tip: install a starter bundle of pipes:
npx screenpipe install https://screenpi.pe/start.json
2026-05-27T21:32:28.310389Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.630360916s
tip: sign in for higher AI quotas + cloud sync:
npx screenpipe login
survey: tell us what you think of screenpipe:
npx screenpipe survey
https://screenpi.pe/survey
2026-05-27T21:47:31.996254Z WARN sqlx::query: summary="SELECT id, snapshot_path, device_name, …" db.statement="\n\nSELECT\n id,\n snapshot_path,\n device_name,\n timestamp\nFROM\n frames\nWHERE\n snapshot_path IS NOT NULL\n AND timestamp < ?1\nORDER BY\n device_name,\n timestamp ASC\nLIMIT\n 5000\n" rows_affected=0 rows_returned=0 elapsed=3.338638583s
tip: get the screenpipe desktop app for the full experience
https://screenpi.pe
tip: wire screenpipe into claude with one command:
claude mcp add screenpipe -- npx -y screenpipe-mcp
then ask claude to build a pipe that tracks who you are, your todos, and how you spend your time from your screen activity
2026-05-27T21:55:45.830353Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: soundcore AeroClip (input)
2026-05-27T21:55:45.901607Z INFO screenpipe_audio::device::device_manager: starting recording for device: soundcore AeroClip (input)
2026-05-27T21:55:45.902520Z INFO screenpipe_audio::audio_manager::device_monitor: switched to new system default input: soundcore AeroClip (input)
2026-05-27T21:55:45.902724Z INFO screenpipe_audio::core::run_record_and_transcribe: stopped recording for MacBook Pro Microphone (input)
2026-05-27T21:55:46.158614Z INFO screenpipe_audio::core::run_record_and_transcribe: starting continuous recording for soundcore AeroClip (input) (bluetooth / 30s segments)
2026-05-27T21:55:46.158649Z INFO screenpipe_audio::core::run_record_and_transcribe: screen locked, pausing audio recording for soundcore AeroClip (input)
whisper_backend_init_gpu: device 0: Metal (type: 1)
whisper_backend_init_gpu: found GPU device 0: Metal (type: 1, cnt: 0)
whisper_backend_init_gpu: using Metal backend
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1
ggml_metal_init: picking default device: Apple M1
ggml_metal_init: use fusion = true
ggml_metal_init: use concurrency = true
ggml_metal_init: use graph optimize = true
whisper_backend_init: using BLAS backend
whisper_init_state: kv self size = 3.15 MB
whisper_init_state: kv cross size = 9.44 MB
whisper_init_state: kv pad size = 2.36 MB
whisper_init_state: compute buffer (conv) = 14.17 MB
whisper_init_state: compute buffer (encode) = 65.96 MB
whisper_init_state: compute buffer (cross) = 8.50 MB
whisper_init_state: compute buffer (decode) = 96.83 MB
ggml_metal_free: deallocating
2026-05-27T21:57:25.640644Z INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 1 orphaned chunks
2026-05-27T21:57:34.030716Z INFO screenpipe_audio::audio_manager::device_monitor: system default input changed to: MacBook Pro Microphone (input)
2026-05-27T21:57:3...
|
iTerm2
|
screenpipe"
|
NULL
|
79074
|
|
84099
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelplabl100% (<478• Thu 28 May 14:28:36••DOCKER (-zsh)881DEV (-zsh)О ₴2-zsh#83screenpipe"T81DOCKERt1DOCKER (-zsh)docker_lamp_12026-05-28 09:13:57 Running ['artisan'jiminny:transcription:retry-failed] Nofailed transcriptionsfound.docker_lamp_11 8 Starting HubSpot journal polling service...docker_lamp_120S DONEdocker_lamp_1• '/usr/local/bin/php' 'artisan' jiminny:transcription:retry-failed > '/proc/1/fd/1'2>&1docker_lamp_12026-05-28 09:14:18 Running ['artisan'crm: reset-governor]21s DONEO &4-zsh85ec2-user@ip-10-30-1...O ₴6ec2-user@ip-10-30-140-...$7PROD (ssh)Run'do-release-upgrade' to upgrade to it.PRODdocker_lamp_1 | , '/usr/local/bin/php' 'artisan'crm:reset-governor › '/proc/1/fd/1' 2>&1*** System restart required ***Last login: Wed May 27 06:47:29 2026 from 212.5.153.87lukas@jiminny-prod-bastion:~$X L3 EU (ssh)Enable ESM Apps to receive additional future security updates.See [URL_WITH_CREDENTIALS] |T4 STAGE (-zsh)*** System restart required ***Last login: Mon May 18 06:46:53 2026 from 212.5.153.87ion: $ client_loop: send disconnect: Broken pipelukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~$ 0X Y5QA (-zsh)STAGE~$0X 16 FE (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lFRONTENDX T7 EXT (-zsh)lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ [What's next:Debug this Compose error with Gordon » docker ai "help me fix this compose error"ukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/infrastructure/dev/docker (develop) $ actEXTENSION...
|
iTerm2
|
screenpipe"
|
NULL
|
84099
|
|
86036
|
• 0Pipelines - jiminny/app(JY-20613) Allow owner • 0Pipelines - jiminny/app(JY-20613) Allow owner's role to bYyorokFix orcion key wiolntIlluminate\Database|QueryEx XO JY-20983 fix deleted obiect imolooin t SiastorcaA Foed -liminny - SentryMi inbox (1734) = Iitns.kownlik Slim(JY-20979) Resolve PHP 8.5.5 degpihttoem Son dthloy - Pintormtranscript ss issue8 JiminnySOD:68811 (0n demandll Transa Sona Subramanian at 27/05/202€8 Ilivana Netsova at 27/05/2026, 18)08mmychuy.oss0cs/o37o302oootemmlonmcheorooucuoroIssues / APP-159Eo goseosarhouts duuocheleecooe csocdCrasnoo in noneado: venood aovel mmmeworo sic/tumrate /oscore/Cori coon mhieoso an mominate loacorse Cotw:/Mooclacuwily.ono.cre1cn Jiminny.moocotacavitcuco.kexcomtrctmost Always ser contactd when avariabe, reaaroless of accountd statusif (Sthis->contactid aua null 8& Scontact) ‹sthis->contact 1d = Scontact->10*Sthis->save):} elseif (Sstrategy •= UpdateCrnDataßyStrategy::Account && Sthis->account_id a= null) ‹I Also update the parent activity if required, checking we don't create a mixed lead/account record.2146oinasoraedodo nuaa1f (Sthis-»stage && Sthis-›stage-›getType) ** Stage::TYPE_LEAD) <Sthis-›stage_1d = null:recordsww./Cwwwc/erm/crmAat.itChrin/Ah4.90TiMiAAC/ASNNOIENC/AA.ANCor.Neindnthermootdsso/noos//crm/wschactwiwermos.a.ohorstn.sim.innv/#00s.crmwa.ch4c.wermostcatwiminny wooscrmiwatchic.iwermostewhtnecu.onCalad from:/vendor/laravel/framework/src/llluminate/Database/Cd00/noos/crmwchac.wiwcrmoo.a.ohororofn.diminnv0orcrm.schctwcrmoamhanolcCalled from: /vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36 in Illuminate\Container\BoundMethod::(closure/luminate\Container1BoundMethod=call):35/app/Jobs/Middieware/HandleHubspotRateLimit.php-23 in Jiminny1Jobs|Middieware\HandleHubspotRateLimit::handleCotadfrom.Wordor/inravol/rmounrk/erc/iiluminato/Binatns/plnathsnhnht0ca.tliminatalpinalinalpinat.non/aineurosfeboc.ch-carry0:194):195)/app/Queue/Worker/Worker.php:71 in Jlminmy\Queue\Worker\Worker-processCtad from:Wondor/aravol/framwwork/erc/illluminata/dusr/iortw.nho.476.tn.Buminatol@nanalworkorarinbohonnsyaontinnTradd Proviow.PP Error - SQLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails Gjiminny'.'activities*. CONSTRAINT "activities_contact__id.fonsLETOr - SOI STALAY6000kintoorihy constnlinh violnhiom14sy Cunnnt non on unthton chid romn torring kuy constnin bis tim nay àộGhHN GCONK RAINH nhiviting contact -id to:2e Error - SOLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails Gliminny'.'activities". CONSTRAINT "activities-contact id..forR Error -= SOLSTATE(23000): Intearity constraint wolntico: 1452 Cronot add or updnte a child rownn forcion kow constraint faits Gliminov" nctbaties", CONSTRAINT "netivitioscontactjalforError - SOLSTATE(23000): Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (jiminny"."activities*. CONSTRAINT "activities_contact_id_for40ш GStack Trace Traoe130yConteaShow 7 more framesIn App100% LX• Thu 28 May 16:40:03Ack SeersMarked as Ongoingautomationlly by Sentr7 months.uoAscianah7 months agby Nikolay Nikolov to themselvesView 2 morev People(Lx) participatinoNYNiS +4 viewedCimilr eeunMerged IssuesVievIn AppIn AcoIn AcdIn ApoChawyA mard trmndIn AppShaw 17 mard tromodViay Sull Trach...
|
iTerm2
|
screenpipe"
|
NULL
|
86036
|
|
86038
|
iTerm2ShellEditViewSessionScriptsProfilesWindowHel iTerm2ShellEditViewSessionScriptsProfilesWindowHelp‹ →0 lhlA100% ( 8• Thu 28 May 16:40:04T81screenpipe"DOCKER-₴81DEV (docker)₴2-zsh83screenpipe"*4-zshX5ec2-user@ip-10-30-129-…. 786ec2-user@ip-10-30-140-…..$72026-05-28T16:38:09.774116ZWARNsqlx:: query:summary="PRAGMA wal_checkpoint(TRUNCATE)" db.statement=""rows_affected-1rows_returned=1 elapsed=1.656920333s2026-05-28T16:38:16.8083272WARNscreenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate theresidual evicted=3 pending_events=0 pending_frames=0 total_pairs=6355 total_evicted-4766 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:38:16.814943ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=86014 paired=1 still_pending=22026-05-28116:38:29.0123372WARN sqlx::query:summary="SELECT id, file_path, timestamp.." db.statement="\n\nSELECT\nid,\nfile_path, \ntimestamp\nFR0M\naudio_chunks\nWHERE\ntranscription_status ='pending'\nAND transcription_attempts < ?4\n AND timestamp >= ?1\n AND timestamp <= ?2\n AND file_path NOT LIKE 'cloud://%'\nORDER BY\n timestampASC\nLIMIT\n?3\n"rows_affected=1rows_returned=5 elapsed-1.072886625swhisper_backend_init_gpu: device 0: Metal (type: 1)whisper_backend_init_gpu: foundwhisper_backend_init_gpu:GPU device 0: Metal (type: 1, cnt: 0)using Metal backendggml_metal_init: allocatingggml_metal_init: found device: Apple M1ggml_metal_init:picking default device: Apple M1ggml_metal_init: use fusion= trueggml_metal_init:use concurrency= trueggml_metal_init: use graph optimize = truewhisper_backend_init: using BLAS backendwhisper_init_state: kv selfsize=3.15 MBwhisper_init_state: kv cross size =9.44 MBwhisper_init_state: kv padsize=2.36 MBwhisper_init_state: compute buffer (conv)=whisper_init_state: compute buffer (encode) =whisper_init_state: compute buffer (cross)=whisper_init_state: computebuffer (decode) =14.17 MB65.96 MB8.50MB96.83 MBggml_metal_free: deallocating2026-05-28T16:38:31.936666ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86020 paired-1 still_pending=02026-05-28T16:38:32.044736ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86020 paired-1 still_pending=02026-05-28T16:38:33.637616ZINFO screenpipe_engine::frame_linker_actor: frame_linker: paired frame+events (events arrived first) frame_id=86023 paired-1 still_pending=02026-05-28716:38:35.8390142INFO screenpipe_audio::audio_manager::manager: reconciliation: transcribed 5 orphaned chunks2026-05-28T16:39:18.071668ZWARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slipped past every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=4 pending_events=0 pending_frames=3 total_pairs=6359 total_evicted=4770 total_failed=0 dropped_drm-0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:39:33.072118ZWARN screenpipe_engine::frame_linker_actor: frame_linker: stale entries expired without pairing - these slippedpast every instrumented drop site (DRM/paused/lagged/capture_error); investigate the residual evicted=2 pending_events=0 pending_frames=1 total_pairs=6359 total_evicted=4772 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28T16:39:38.072524ZWARN screenpipe_engine::frame_linker_actor:frame_linker:stale entries expiredwithout pairing - these slippedpasteveryinstrumenteddrop site(DRM/paused/lagged/capture_error); investigate the residual evicted-1 pending_events=0 pending_frames=0 total_pairs=6359total_evicted-4773 total_failed=0 dropped_drm=0 dropped_paused=0 dropped_lagged=0 dropped_capture_error=0 dropped_other=292026-05-28716:40:03.00651922026-05-28T16:40:03.152909ZINFO screenpipe_engine::event_driven_capture: content dedup: skipping capture for monitor 2 (hash=4782388952810313059, trigger=click)INFOscreenpipe_engine::frame_linker_actor: frame_linker: paired frame→events (events arrived first) frame_id=86034 paired-1 still_pending=02026-05-28T16:40:03.201882ZWARNscreenpipe_audio::core::source_buffer: [MacBook Pro Microphone (input)] large gap on wired device: 189.9ms elapsed (expected 5.3ms) • inserting184.6ms silence (17717 samples)...
|
iTerm2
|
screenpipe"
|
NULL
|
86038
|
|
28133
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 1, Col 1
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28133
|
|
28134
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 27, Col 82
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id
);
"...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28134
|
|
28135
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 27, Col 82
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28135
|
|
28136
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 27, Col 82
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails....
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28136
|
|
28137
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 456, Col 33
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28137
|
|
28138
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 456, Col 33
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id
);
"
# Verify cleanup
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) FROM video_chunks;"
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(DISTINCT install_id || '|' || id) FROM video_chunks;"
After this
, both counts should match (2607),
and you can re-run the migration script:
bash
/volume1/screenpipe/screenpipe_fts_migrate.sh
You may
need to repeat this for other tables if they
have the same issue. The migration script
processes tables in order:
video_chunks frames elements
ocr_text ui_events meetings
(vision) then
speakers speaker_embeddings audio_chunks audio_transcriptions
audio_tags
(audio).
Feedback submitted
Your modified files:
screenpipe_sync.sh
/volume1/screenpipe
+
1
-
1
ok lets forget on install id for a while. Given the
@
screenpipe_sync.sh
why do I get error like this when ruynning the same scritp from nas. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28138
|
|
28139
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 1, Col 1
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28139
|
|
28140
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 1, Col 1
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28140
|
|
28141
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 40, Col 24
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28141
|
|
28142
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 40, Col 24
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28142
|
|
28143
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 36, Col 35
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28143
|
|
28144
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 25, Col 8
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28144
|
|
28145
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 25, Col 8
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28145
|
|
28146
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 25, Col 8
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28146
|
|
28147
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 28, Col 17
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id
);
"
# Verify cleanup
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) FROM video_chunks;"
sqlite3
/volume1/screenpipe/archive.db...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28147
|
|
28148
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 28, Col 17
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id
);
"
# Verify cleanup
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) FROM video_chunks;"
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(DISTINCT install_id || '|' || id) FROM video_chunks;"
After this
, both counts should match (2607),
and you can re-run the migration script:
bash
/volume1/screenpipe/screenpipe_fts_migrate.sh
You may
need to repeat this for other tables if they
have the same issue. The migration script
processes tables in order:
video_chunks frames elements
ocr_text ui_events meetings
(vision) then
speakers speaker_embeddings audio_chunks audio_transcriptions
audio_tags
(audio).
Feedback submitted
Your modified files:
screenpipe_sync.sh
/volume1/screenpipe
+
1
-
1
ok lets forget on install id for a while. Given the
@
screenpipe_sync.sh
why do I get error like this when ruynning the same scritp from nas. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
Expand content to scroll
Thought
for 1s
The error occurs because the
ocr_text
table doesn't have an
id
column, but the script tries to create a
unique index on
(install_id, id)
. The script assumes all
tables have an
id
column, but
ocr_text
likely has a different primary key structure.
Let me check the ocr_text table schema in your source
database:
Searched
ocr_text in /volume1/screenpipe (*.sh)
Thought
for 2s
The error occurs because the script tries to create a unique
index on
ocr_text(install_id, id)
, but the
ocr_text
table doesn't have an
id
column. The script assumes
all tables have an
id
column as
their primary key, but
ocr_text...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28148
|
|
28149
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 28, Col 17
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28149
|
|
28150
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 28, Col 17
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id
);
"
# Verify cleanup
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) FROM video_chunks;"
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(DISTINCT install_id || '|' || id) FROM video_chunks;"
After this
, both counts should match (2607),
and you can re-run the migration script:
bash
/volume1/screenpipe/screenpipe_fts_migrate.sh
You may
need to repeat this for other tables if they
have the same issue. The migration script
processes tables in order:
video_chunks frames elements
ocr_text ui_events meetings
(vision) then
speakers speaker_embeddings audio_chunks audio_transcriptions
audio_tags
(audio).
Feedback submitted
Your modified files:
screenpipe_sync.sh
/volume1/screenpipe
+
1
-
1
ok lets forget on install id for a while. Given the
@
screenpipe_sync.sh
why do I get error like this when ruynning the same scritp from nas. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
Expand content to scroll
Thought
for 1s
The error occurs because the
ocr_text
table doesn't have an
id
column, but the script tries to create a
unique index on
(install_id, id)
. The script assumes all
tables have an
id
column, but
ocr_text
likely has a different primary key structure.
Let me check the ocr_text table schema in your source
database:
Searched
ocr_text in /volume1/screenpipe (*.sh)
Thought
for 2s
The error occurs because the script tries to create a unique
index on
ocr_text(install_id, id)
, but the
ocr_text
table doesn't have an...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28150
|
|
28151
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 28, Col 17
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id
);
"
# Verify cleanup
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) FROM video_chunks;"
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(DISTINCT install_id || '|' || id) FROM video_chunks;"
After this
, both counts should match (2607),
and you can re-run the migration script:
bash
/volume1/screenpipe/screenpipe_fts_migrate.sh
You may
need to repeat this for other tables if they
have the same issue. The migration script
processes tables in order:
video_chunks frames elements
ocr_text ui_events meetings
(vision) then
speakers speaker_embeddings audio_chunks audio_transcriptions
audio_tags
(audio).
Feedback submitted
Your modified files:
screenpipe_sync.sh
/volume1/screenpipe
+
1
-
1
ok lets forget on install id for a while. Given the
@
screenpipe_sync.sh
why do I get error like this when ruynning the same scritp from nas. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
Expand content to scroll
Thought
for 1s
The error occurs because the
ocr_text
table doesn't have an
id
column, but the script tries to create a
unique index on
(install_id, id)
. The script assumes all
tables have an
id
column, but
ocr_text
likely has a different primary key structure.
Let me check the ocr_text table schema in your source
database:
Searched
ocr_text in /volume1/screenpipe (*.sh)
Thought
for 2s
The error occurs because the script tries to create a unique
index on
ocr_text(install_id, id)
, but the
ocr_text
table doesn't have an
id
column. The script assumes
all tables have an
id
column as
their primary key, but
ocr_text
likely has a different structure
.
Check the actual schema of your
ocr_text
table:
bash
sqlite3
~/.screenpipe/db.sqlite
"PRAGMA table_info(ocr_text);"
This will show what columns exist
. Based on the script's
usage,
ocr_text
likely uses
frame_id
as a foreign key and may not
have its own
id
primary key (
it might use SQLite's implicit
rowid
).
The fix would be to modify
the script to handle tables without an
id
column. Options:
Skip
the unique index for tables without
id
and use a different constraint
Use
rowid
instead of
id
for tables that don
't have an explicit
id
column
What does
the schema show for
ocr_text
?
Feedback submitted
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ sqlite3 ~/.screenpipe/db.sqlite "PRAGMA table_info(ocr_text);"
0|frame_id|INTEGER|1||0
1|text|TEXT|1||0
2|text_json|TEXT|0||0
3|app_name|TEXT|1|''|0
4|ocr_engine|TEXT|1|'unknown'|0
5|window_name|TEXT|0||0
6|focused|BOOLEAN|0|FALSE|0
7|text_length|INTEGER|0||0
8|sync_id|TEXT|0||0
9|synced_at|DATETIME|0||0
10|redacted_at|INTEGER|0||0
Expand content to scroll
Thought
for 1s
The
ocr_text
table has no
id
column - its primary key is
frame_id
. The script incorrectly
assumes all tables have an
id
column when creating the unique index.
The fix is in
screenpipe_sync.sh
around line 363
-370. The loop needs to check if the
table has an
id
column before creating the index:
bash
# Re-run install_id + index setup so freshly-created tables get them too.
for
tbl
in
"${
ALL_SYNC_TABLES
[
@
]}"
;
do
HAS_COL
=
$(
sqlite3
"
$NAS_DB
"
"SELECT COUNT(*) FROM pragma_table_info('
$tbl
') WHERE name='install_id';"
)
if
[
"
$HAS_COL
"
=
"0"
];
then
sqlite3
"
$NAS_DB
"...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28151
|
|
28155
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 28, Col 17
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:
$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
legacy-20260511
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
sqlite3 /volume1/screenpipe/archive.db "SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
legacy-20260511|1|2
legacy-20260511|2|2
legacy-20260511|3|2
legacy-20260511|4|2
legacy-20260511|5|2
legacy-20260511|6|2
legacy-20260511|9|4
legacy-20260511|10|4
legacy-20260511|11|4
legacy-20260511|12|4
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$ sqlite3 /volume1/screenpipe/archive.db "SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
4009|2607
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Expand content to scroll
Thought
for 1s
The issue is clear now:
video_chunks
has 400
9 rows but only 2607 unique
(install_id, id)
combinations. Each ID appears
2-4 times, which violates the unique constraint.
This likely happened from multiple
sync runs without proper deduplication. To fix this, you need
to remove the duplicate rows before the migration can proceed:
bash
# Delete duplicates, keeping the first occurrence for each (install_id, id)
sqlite3
/volume1/screenpipe/archive.db
"
DELETE FROM video_chunks
WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM video_chunks
GROUP BY install_id, id
);
"
# Verify cleanup
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) FROM video_chunks;"
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(DISTINCT install_id || '|' || id) FROM video_chunks;"
After this
, both counts should match (2607),
and you can re-run the migration script:
bash
/volume1/screenpipe/screenpipe_fts_migrate.sh
You may
need to repeat this for other tables if they
have the same issue. The migration script
processes tables in order:
video_chunks frames elements
ocr_text ui_events meetings
(vision) then
speakers speaker_embeddings audio_chunks audio_transcriptions
audio_tags
(audio).
Feedback submitted
Your modified files:
screenpipe_sync.sh
/volume1/screenpipe
+
1
-
1
ok lets forget on install id for a while. Given the
@
screenpipe_sync.sh
why do I get error like this when ruynning the same scritp from nas. lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/.screenpipe $ ~/.screenpipe/screenpipe_sync.sh 2026-05-11
[2026-05-12 20:19:37] ========================================
[2026-05-12 20:19:37] Screenpipe sync starting for: 2026-05-11
[2026-05-12 20:19:37] install_id: 2ff6574c-4272-4dbf-a20b-434b024c65fb
[2026-05-12 20:19:37] ========================================
[+00m00s] ▶ Preflight checks
Source DB: OK (4.2G)
NAS mount: OK /Volumes/screenpipe
Archive DB: will be created
Frame data dir: OK (283 files, 318M)
Audio files: OK (2507 files, 267M)
[+00m00s] ▶ Counting source rows for 2026-05-11
frames: 6857
elements: 672129
ui_events: 7063
ocr_text: 2332
meetings: 1
audio_chunks: 2507
audio_transcriptions: 226
audio_tags: 0
speakers: 15 (all-time)
speaker_embeddings: 58 (all-time)
[+00m01s] ▶ Initialising tables (CREATE IF NOT EXISTS)
creating vision tables ✓ 0m00s
creating audio tables ✓ 0m01s
Error: in prepare, no such column: id
S idx_ocr_text_install_pk ON ocr_text(install_id, id);
error here ---^
Expand content to scroll
Thought
for 1s
The error occurs because the
ocr_text
table doesn't have an
id
column, but the script tries to create a
unique index on
(install_id, id)
. The script assumes all
tables have an
id
column, but
ocr_text
likely has a different primary key structure.
Let me check the ocr_text table schema in your source
database:
Searched
ocr_text in /volume1/screenpipe (*.sh)
Thought
for 2s
The error occurs because the script tries to create a unique
index on
ocr_text(install_id, id)
, but the
ocr_text
table doesn't have an
id
column. The script assumes
all tables have an
id
column as
their primary key, but
ocr_text
likely has a different structure
.
Check the actual schema of your
ocr_text
table:
bash
sqlite3
~/.screenpipe/db.sqlite
"PRAGMA table_info(ocr_text);"
This will show what columns exist
. Based on the script's
usage,
ocr_text
likely uses
frame_id...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28155
|
|
28156
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 460, Col 1 (17469 selected)
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28156
|
|
28157
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 460, Col 1 (17469 selected)
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28157
|
|
28169
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 49, Col 17
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping
one row per
(install_id, id)
If duplicates are from different syncs with different data
: You may need to use
INSERT OR REPLACE
logic or consolidate
the data
The migration script assumes clean data where
(install_id, id)
is unique. Your
database has pre-existing install_id
data that violates this assumption.
Feedback submitted
Your recent terminal commands:...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28169
|
|
28170
|
Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘ Explorer (⌥⌘E)
Search (⇧⌘F)
Source Control (⇧⌘G) - 12 pending changes Source Control (⇧⌘G) - 12 pending changes
12
Codemaps
DeepWiki
Run and Debug
Remote Explorer
Extensions (⇧⌘X)
Testing
Explorer
Explorer
Explorer Section: screenpipe [SSH: nas]
Explorer Section: screenpipe [SSH: nas]
screenpipe [SSH: nas]
#recycle
app
data
logs
pipes
.gitignore
app_settings.json
archive.db
archive.db-bak
U
archive.db.bak-pre-installid
U
db.sqlite
db.sqlite-shm
db.sqlite-wal
screenpipe_fts_migrate.sh
U
screenpipe_sync_updated.sh
U
screenpipe_sync.sh
screenpipe.db
Outline Section
Outline
Outline
Timeline Section
Timeline
Timeline
remote SSH: nas
SSH: nas
screenpipe (Git) - master*, Checkout Branch/Tag...
master*
screenpipe (Git) - Synchronize Changes
No Problems
0
0
Forwarded Ports: 41257
1
Notifications
Windsurf - Settings
Teams, Daily: 0% quota used · Weekly: 68% quota used
Shell Script
LF
UTF-8
Spaces: 2
Ln 49, Col 17
Screen Reader Optimized
AUDIO_TABLES=(speakers speaker_embeddings audio_chunks audio_transcriptions audio_tags), 2 of 103 found for 'audio', at 47:1
Command Succeeded
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Adm1n@DXP4800PLUS-B5F8:/volume1/screenpipe$
Terminal 1 environment is stale, run the 'Show Environment Information' command for more information
501 x 10
$ echo 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 3e61f38a-b75b-4ae2-bc31-9b0ce5db0968 exit
Terminal 2 environment is stale, run the 'Show Environment Information' command for more information
This read-only terminal is managed by Cascade
501 x 10
Data Migration and Sync Review
38m
29m
25m
get familiar with the project. The idea is to copy the data from mac to nas (here). I am tryign to update the database using
@
screenpipe_fts_migrate.sh
and then run
@
screenpipe_sync.sh
for a day to move the data. Review and see is you understand everything.
Expand content to scroll
Thought
for 1s
I'll read the two scripts and
explore the project structure to understand the data migration
setup.
Thoughts
Read
screenpipe_fts_migrate.sh and screenpipe_sync.sh
Analyzed
/volume1/screenpipe
Thought
for 2s
I understand the setup. Here's my analysis
:
Project Overview
Project Overview
You're migrating Screen
pipe data from Mac to NAS. The workflow:
1.
screenpipe_fts_migrate.sh
- One-time database schema migration:
Adds
install_id
column to all
synced tables (prevents ID collisions across
reinstalls)
Creates
_installs
registry table
Re
builds FTS (full-text search) tables with new
schema
Optional but recommended
- running
this on the NAS is
5-10x faster than letting
screenpipe_sync.sh
do
it inline
Idempotent (safe to re-run)
2.
screenpipe_sync.sh
- Daily sync script:
Copies
SQLite data from Mac (
~/.screenpipe/db.sqlite
) to NAS (
/Volumes/screenpipe/archive.db
)
Syncs vision tables (frames
, elements, OCR, UI events) and audio
tables (chunks, transcriptions, speakers)
Copies frame
data files and audio MP4s via rs
ync
Uses
install_id
(UUID) to handle multiple screenpipe installations
safely
Schema-drift tolerant (auto-add
s new columns)
Run per
date:
./screenpipe_sync.sh
(y
esterday) or
./screenpipe_sync.sh 2026-05-12
Current NAS State
Current NAS
State
archive.db
- 12.9 GB (main
archive)
archive.db-bak
- 11.1
GB (backup)
archive.db.bak-pre-installid
- 12
.9 GB (pre-migration backup)
db.sqlite
- 3.7 GB (appears
to be source DB already copied?)
data/
- empty (will hold
frame data by date)
logs/
- contains sync logs
Your Plan
Your
Plan
Run
screenpipe_fts_migrate.sh
first to update the schema quickly on the NAS, then
run
screenpipe_sync.sh
daily to increment
ally move data from Mac to
NAS. This makes sense - the migration is the
heavy operation, then daily syncs are lightweight
.
Does this match your understanding
, or do you have questions about any part
?
Feedback submitted
Your modified files:
screenpipe_fts_migrate.sh
/volume1/screenpipe
+
1
-
1
Your recent terminal commands:
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
$ /volume1/screenpipe/screenpipe_fts_migrate.sh
@
terminal:bash
why is there erro like that?
Expand content to scroll
Thought
for 1s
The
error occurs because the
video_chunks
table already has
install_id
but contains duplicate
(install_id, id)
combinations, violating the unique constraint the script is trying to create.
Let
me check the database state to diagnose:
Searched
video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because there are
duplicate
(install_id, id)
combinations in the
video_chunks
table, violating the unique constraint the
script is trying to create.
Let me check the database state to understand
the duplicates:
Searched
sqlite3.*video_chunks in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already has
install_id
data, but there are duplicate
(install_id, id)
combinations. The script tries to create a unique index on these
columns, which fails due to the duplicates.
Let me check
the database to identify the duplicates:
Searched
SELECT.*install_id.*FROM in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, SQLite rejects it due to the
duplicates.
This likely happened from a previous sync
or partial migration. Let me check the
database to see the duplicate data:
Searched
install_id in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table
already has
install_id
data with duplicate
(install_id, id)
combinations. When the script tries to create a unique index on these
columns, it fails.
This likely happened from a previous sync that added
data without proper deduplication. Let me check the database to identify the duplicates:
Searched
sqlite3 in /volume1/screenpipe (*.sh)
Thought
for 1s
The error occurs because the
video_chunks
table already
has
install_id
data with duplicate
(install_id, id)
combinations. When
the script tries to create a unique index on these columns, SQLite rejects
it due to existing duplicates.
This likely happened
from a previous sync or partial migration. To diagnose,
you need to check the database:
bash
# Check what install_id values exist in video_chunks
sqlite3
/volume1/screenpipe/archive.db
"SELECT DISTINCT install_id FROM video_chunks LIMIT 10;"
# Find the duplicate (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT install_id, id, COUNT(*) FROM video_chunks GROUP BY install_id, id HAVING COUNT(*) > 1 LIMIT 10;"
# Check total rows vs unique (install_id, id) combinations
sqlite3
/volume1/screenpipe/archive.db
"SELECT COUNT(*) as total, COUNT(DISTINCT install_id || '|' || id) as unique_combos FROM video_chunks;"
The fix depends on what
you find:
If duplicates have the same actual data
: Delete the duplicates keeping...
|
Windsurf
|
screenpipe [SSH: nas] — screenpipe_sync_updated.sh screenpipe [SSH: nas] — screenpipe_sync_updated.sh — Untracked...
|
NULL
|
28170
|